diff options
author | Len Brown <len.brown@intel.com> | 2009-09-19 00:11:26 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-09-19 00:11:26 -0400 |
commit | c602c65b2f81d14456771d1e3f15d1381f4b7efa (patch) | |
tree | f1f833c8dd6c1519eeb101be32f7fe54a9605af5 /drivers/net/ibm_newemac/core.c | |
parent | 3834f47291df475be3f0f0fb7ccaa098967cc054 (diff) | |
parent | 78f28b7c555359c67c2a0d23f7436e915329421e (diff) |
Merge branch 'linus' into sfi-release
Conflicts:
arch/x86/kernel/setup.c
drivers/acpi/power.c
init/main.c
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/net/ibm_newemac/core.c')
-rw-r--r-- | drivers/net/ibm_newemac/core.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c index f0f890803710..1d7d7fef414f 100644 --- a/drivers/net/ibm_newemac/core.c +++ b/drivers/net/ibm_newemac/core.c | |||
@@ -1344,7 +1344,7 @@ static inline int emac_xmit_finish(struct emac_instance *dev, int len) | |||
1344 | ++dev->stats.tx_packets; | 1344 | ++dev->stats.tx_packets; |
1345 | dev->stats.tx_bytes += len; | 1345 | dev->stats.tx_bytes += len; |
1346 | 1346 | ||
1347 | return 0; | 1347 | return NETDEV_TX_OK; |
1348 | } | 1348 | } |
1349 | 1349 | ||
1350 | /* Tx lock BH */ | 1350 | /* Tx lock BH */ |
@@ -2209,7 +2209,7 @@ static const struct ethtool_ops emac_ethtool_ops = { | |||
2209 | static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) | 2209 | static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) |
2210 | { | 2210 | { |
2211 | struct emac_instance *dev = netdev_priv(ndev); | 2211 | struct emac_instance *dev = netdev_priv(ndev); |
2212 | uint16_t *data = (uint16_t *) & rq->ifr_ifru; | 2212 | struct mii_ioctl_data *data = if_mii(rq); |
2213 | 2213 | ||
2214 | DBG(dev, "ioctl %08x" NL, cmd); | 2214 | DBG(dev, "ioctl %08x" NL, cmd); |
2215 | 2215 | ||
@@ -2218,19 +2218,16 @@ static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) | |||
2218 | 2218 | ||
2219 | switch (cmd) { | 2219 | switch (cmd) { |
2220 | case SIOCGMIIPHY: | 2220 | case SIOCGMIIPHY: |
2221 | case SIOCDEVPRIVATE: | 2221 | data->phy_id = dev->phy.address; |
2222 | data[0] = dev->phy.address; | ||
2223 | /* Fall through */ | 2222 | /* Fall through */ |
2224 | case SIOCGMIIREG: | 2223 | case SIOCGMIIREG: |
2225 | case SIOCDEVPRIVATE + 1: | 2224 | data->val_out = emac_mdio_read(ndev, dev->phy.address, |
2226 | data[3] = emac_mdio_read(ndev, dev->phy.address, data[1]); | 2225 | data->reg_num); |
2227 | return 0; | 2226 | return 0; |
2228 | 2227 | ||
2229 | case SIOCSMIIREG: | 2228 | case SIOCSMIIREG: |
2230 | case SIOCDEVPRIVATE + 2: | 2229 | emac_mdio_write(ndev, dev->phy.address, data->reg_num, |
2231 | if (!capable(CAP_NET_ADMIN)) | 2230 | data->val_in); |
2232 | return -EPERM; | ||
2233 | emac_mdio_write(ndev, dev->phy.address, data[1], data[2]); | ||
2234 | return 0; | 2231 | return 0; |
2235 | default: | 2232 | default: |
2236 | return -EOPNOTSUPP; | 2233 | return -EOPNOTSUPP; |