dl2k: Clean up rio_ioctl
authorJeff Mahoney <jeffm@suse.com>
Wed, 25 Apr 2012 14:32:09 +0000 (14:32 +0000)
committerVarun Wadekar <vwadekar@nvidia.com>
Mon, 14 May 2012 13:29:16 +0000 (18:29 +0530)
commit9cfa7b8279c42c1ffce7e7f758b2f8af99bc7fd6
tree2012d1017db1388a86f94edd88cc8a41c2cb0b53
parentdc8bcf357ba0cb4e48ef7cb9ceb2939740ae1f89
dl2k: Clean up rio_ioctl

The dl2k driver's rio_ioctl call has a few issues:
- No permissions checking
- Implements SIOCGMIIREG and SIOCGMIIREG using the SIOCDEVPRIVATE numbers
- Has a few ioctls that may have been used for debugging at one point
  but have no place in the kernel proper.

This patch removes all but the MII ioctls, renumbers them to use the
standard ones, and adds the proper permission check for SIOCSMIIREG.

We can also get rid of the dl2k-specific struct mii_data in favor of
the generic struct mii_ioctl_data.

Since we have the phyid on hand, we can add the SIOCGMIIPHY ioctl too.

Most of the MII code for the driver could probably be converted to use
the generic MII library but I don't have a device to test the results.

Reported-by: Stephan Mueller <stephan.mueller@atsec.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/dlink/dl2k.c
drivers/net/ethernet/dlink/dl2k.h