diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 20:51:31 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 20:51:31 -0500 |
| commit | b7ad6d75028d021362221d9b2db19fcff995c3f8 (patch) | |
| tree | 30d2a515571d7a43d5df7cb91d118a1d46b6142a | |
| parent | 0caab23e11c015559af81a4c0f4759ca05a5446a (diff) | |
| parent | 6a6bbd29a0284c1b9d33c324ba85f3ebb5509589 (diff) | |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
[PATCH] Use of uninitialized variable in drivers/net/depca.c
[PATCH] Use after free in net/tulip/de2104x.c
[PATCH] sis900 adm7001 PHY support
[PATCH] sky2: more ethtool stats
[PATCH] s390: qeth :allow setting of attribute "route6" to "no_router".
[PATCH] s390: qeth driver cleanups
[PATCH] s390: qeth driver statistics fixes
[PATCH] AMD Au1xx0: fix Ethernet TX stats
[PATCH] fix spidernet build issue
| -rw-r--r-- | drivers/net/Makefile | 4 | ||||
| -rw-r--r-- | drivers/net/au1000_eth.c | 18 | ||||
| -rw-r--r-- | drivers/net/depca.c | 2 | ||||
| -rw-r--r-- | drivers/net/sis900.c | 1 | ||||
| -rw-r--r-- | drivers/net/sky2.c | 27 | ||||
| -rw-r--r-- | drivers/net/sky2.h | 71 | ||||
| -rw-r--r-- | drivers/net/tulip/de2104x.c | 2 | ||||
| -rw-r--r-- | drivers/s390/net/qeth_main.c | 57 | ||||
| -rw-r--r-- | drivers/s390/net/qeth_proc.c | 56 | ||||
| -rw-r--r-- | drivers/s390/net/qeth_sys.c | 2 |
10 files changed, 104 insertions, 136 deletions
diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 00e72b12fb92..b90468aea077 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile | |||
| @@ -58,8 +58,8 @@ obj-$(CONFIG_STNIC) += stnic.o 8390.o | |||
| 58 | obj-$(CONFIG_FEALNX) += fealnx.o | 58 | obj-$(CONFIG_FEALNX) += fealnx.o |
| 59 | obj-$(CONFIG_TIGON3) += tg3.o | 59 | obj-$(CONFIG_TIGON3) += tg3.o |
| 60 | obj-$(CONFIG_BNX2) += bnx2.o | 60 | obj-$(CONFIG_BNX2) += bnx2.o |
| 61 | spidernet-y += spider_net.o spider_net_ethtool.o sungem_phy.o | 61 | spidernet-y += spider_net.o spider_net_ethtool.o |
| 62 | obj-$(CONFIG_SPIDER_NET) += spidernet.o | 62 | obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o |
| 63 | obj-$(CONFIG_TC35815) += tc35815.o | 63 | obj-$(CONFIG_TC35815) += tc35815.o |
| 64 | obj-$(CONFIG_SKGE) += skge.o | 64 | obj-$(CONFIG_SKGE) += skge.o |
| 65 | obj-$(CONFIG_SKY2) += sky2.o | 65 | obj-$(CONFIG_SKY2) += sky2.o |
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index cd0b1dccfb61..1363083b4d83 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
| @@ -90,8 +90,6 @@ static void au1000_tx_timeout(struct net_device *); | |||
| 90 | static int au1000_set_config(struct net_device *dev, struct ifmap *map); | 90 | static int au1000_set_config(struct net_device *dev, struct ifmap *map); |
| 91 | static void set_rx_mode(struct net_device *); | 91 | static void set_rx_mode(struct net_device *); |
| 92 | static struct net_device_stats *au1000_get_stats(struct net_device *); | 92 | static struct net_device_stats *au1000_get_stats(struct net_device *); |
| 93 | static inline void update_tx_stats(struct net_device *, u32, u32); | ||
| 94 | static inline void update_rx_stats(struct net_device *, u32); | ||
| 95 | static void au1000_timer(unsigned long); | 93 | static void au1000_timer(unsigned long); |
| 96 | static int au1000_ioctl(struct net_device *, struct ifreq *, int); | 94 | static int au1000_ioctl(struct net_device *, struct ifreq *, int); |
| 97 | static int mdio_read(struct net_device *, int, int); | 95 | static int mdio_read(struct net_device *, int, int); |
| @@ -1825,16 +1823,11 @@ static void __exit au1000_cleanup_module(void) | |||
| 1825 | } | 1823 | } |
| 1826 | } | 1824 | } |
| 1827 | 1825 | ||
| 1828 | 1826 | static void update_tx_stats(struct net_device *dev, u32 status) | |
| 1829 | static inline void | ||
| 1830 | update_tx_stats(struct net_device *dev, u32 status, u32 pkt_len) | ||
| 1831 | { | 1827 | { |
| 1832 | struct au1000_private *aup = (struct au1000_private *) dev->priv; | 1828 | struct au1000_private *aup = (struct au1000_private *) dev->priv; |
| 1833 | struct net_device_stats *ps = &aup->stats; | 1829 | struct net_device_stats *ps = &aup->stats; |
| 1834 | 1830 | ||
| 1835 | ps->tx_packets++; | ||
| 1836 | ps->tx_bytes += pkt_len; | ||
| 1837 | |||
| 1838 | if (status & TX_FRAME_ABORTED) { | 1831 | if (status & TX_FRAME_ABORTED) { |
| 1839 | if (dev->if_port == IF_PORT_100BASEFX) { | 1832 | if (dev->if_port == IF_PORT_100BASEFX) { |
| 1840 | if (status & (TX_JAB_TIMEOUT | TX_UNDERRUN)) { | 1833 | if (status & (TX_JAB_TIMEOUT | TX_UNDERRUN)) { |
| @@ -1867,7 +1860,7 @@ static void au1000_tx_ack(struct net_device *dev) | |||
| 1867 | ptxd = aup->tx_dma_ring[aup->tx_tail]; | 1860 | ptxd = aup->tx_dma_ring[aup->tx_tail]; |
| 1868 | 1861 | ||
| 1869 | while (ptxd->buff_stat & TX_T_DONE) { | 1862 | while (ptxd->buff_stat & TX_T_DONE) { |
| 1870 | update_tx_stats(dev, ptxd->status, ptxd->len & 0x3ff); | 1863 | update_tx_stats(dev, ptxd->status); |
| 1871 | ptxd->buff_stat &= ~TX_T_DONE; | 1864 | ptxd->buff_stat &= ~TX_T_DONE; |
| 1872 | ptxd->len = 0; | 1865 | ptxd->len = 0; |
| 1873 | au_sync(); | 1866 | au_sync(); |
| @@ -1889,6 +1882,7 @@ static void au1000_tx_ack(struct net_device *dev) | |||
| 1889 | static int au1000_tx(struct sk_buff *skb, struct net_device *dev) | 1882 | static int au1000_tx(struct sk_buff *skb, struct net_device *dev) |
| 1890 | { | 1883 | { |
| 1891 | struct au1000_private *aup = (struct au1000_private *) dev->priv; | 1884 | struct au1000_private *aup = (struct au1000_private *) dev->priv; |
| 1885 | struct net_device_stats *ps = &aup->stats; | ||
| 1892 | volatile tx_dma_t *ptxd; | 1886 | volatile tx_dma_t *ptxd; |
| 1893 | u32 buff_stat; | 1887 | u32 buff_stat; |
| 1894 | db_dest_t *pDB; | 1888 | db_dest_t *pDB; |
| @@ -1908,7 +1902,7 @@ static int au1000_tx(struct sk_buff *skb, struct net_device *dev) | |||
| 1908 | return 1; | 1902 | return 1; |
| 1909 | } | 1903 | } |
| 1910 | else if (buff_stat & TX_T_DONE) { | 1904 | else if (buff_stat & TX_T_DONE) { |
| 1911 | update_tx_stats(dev, ptxd->status, ptxd->len & 0x3ff); | 1905 | update_tx_stats(dev, ptxd->status); |
| 1912 | ptxd->len = 0; | 1906 | ptxd->len = 0; |
| 1913 | } | 1907 | } |
| 1914 | 1908 | ||
| @@ -1928,6 +1922,9 @@ static int au1000_tx(struct sk_buff *skb, struct net_device *dev) | |||
| 1928 | else | 1922 | else |
| 1929 | ptxd->len = skb->len; | 1923 | ptxd->len = skb->len; |
| 1930 | 1924 | ||
| 1925 | ps->tx_packets++; | ||
| 1926 | ps->tx_bytes += ptxd->len; | ||
| 1927 | |||
| 1931 | ptxd->buff_stat = pDB->dma_addr | TX_DMA_ENABLE; | 1928 | ptxd->buff_stat = pDB->dma_addr | TX_DMA_ENABLE; |
| 1932 | au_sync(); | 1929 | au_sync(); |
| 1933 | dev_kfree_skb(skb); | 1930 | dev_kfree_skb(skb); |
| @@ -1936,7 +1933,6 @@ static int au1000_tx(struct sk_buff *skb, struct net_device *dev) | |||
| 1936 | return 0; | 1933 | return 0; |
| 1937 | } | 1934 | } |
| 1938 | 1935 | ||
| 1939 | |||
| 1940 | static inline void update_rx_stats(struct net_device *dev, u32 status) | 1936 | static inline void update_rx_stats(struct net_device *dev, u32 status) |
| 1941 | { | 1937 | { |
| 1942 | struct au1000_private *aup = (struct au1000_private *) dev->priv; | 1938 | struct au1000_private *aup = (struct au1000_private *) dev->priv; |
diff --git a/drivers/net/depca.c b/drivers/net/depca.c index 03804cc38be0..0941d40f046f 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c | |||
| @@ -1412,7 +1412,7 @@ static int __init depca_mca_probe(struct device *device) | |||
| 1412 | irq = 11; | 1412 | irq = 11; |
| 1413 | break; | 1413 | break; |
| 1414 | default: | 1414 | default: |
| 1415 | printk("%s: mca_probe IRQ error. You should never get here (%d).\n", dev->name, where); | 1415 | printk("%s: mca_probe IRQ error. You should never get here (%d).\n", mdev->name, where); |
| 1416 | return -EINVAL; | 1416 | return -EINVAL; |
| 1417 | } | 1417 | } |
| 1418 | 1418 | ||
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index a1cb07cdb60f..253440a98022 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c | |||
| @@ -128,6 +128,7 @@ static const struct mii_chip_info { | |||
| 128 | { "SiS 900 Internal MII PHY", 0x001d, 0x8000, LAN }, | 128 | { "SiS 900 Internal MII PHY", 0x001d, 0x8000, LAN }, |
| 129 | { "SiS 7014 Physical Layer Solution", 0x0016, 0xf830, LAN }, | 129 | { "SiS 7014 Physical Layer Solution", 0x0016, 0xf830, LAN }, |
| 130 | { "Altimata AC101LF PHY", 0x0022, 0x5520, LAN }, | 130 | { "Altimata AC101LF PHY", 0x0022, 0x5520, LAN }, |
| 131 | { "ADM 7001 LAN PHY", 0x002e, 0xcc60, LAN }, | ||
| 131 | { "AMD 79C901 10BASE-T PHY", 0x0000, 0x6B70, LAN }, | 132 | { "AMD 79C901 10BASE-T PHY", 0x0000, 0x6B70, LAN }, |
| 132 | { "AMD 79C901 HomePNA PHY", 0x0000, 0x6B90, HOME}, | 133 | { "AMD 79C901 HomePNA PHY", 0x0000, 0x6B90, HOME}, |
| 133 | { "ICS LAN PHY", 0x0015, 0xF440, LAN }, | 134 | { "ICS LAN PHY", 0x0015, 0xF440, LAN }, |
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index f08fe6c884b2..36db93811ac7 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
| @@ -2478,17 +2478,34 @@ static const struct sky2_stat { | |||
| 2478 | { "rx_unicast", GM_RXF_UC_OK }, | 2478 | { "rx_unicast", GM_RXF_UC_OK }, |
| 2479 | { "tx_mac_pause", GM_TXF_MPAUSE }, | 2479 | { "tx_mac_pause", GM_TXF_MPAUSE }, |
| 2480 | { "rx_mac_pause", GM_RXF_MPAUSE }, | 2480 | { "rx_mac_pause", GM_RXF_MPAUSE }, |
| 2481 | { "collisions", GM_TXF_SNG_COL }, | 2481 | { "collisions", GM_TXF_COL }, |
| 2482 | { "late_collision",GM_TXF_LAT_COL }, | 2482 | { "late_collision",GM_TXF_LAT_COL }, |
| 2483 | { "aborted", GM_TXF_ABO_COL }, | 2483 | { "aborted", GM_TXF_ABO_COL }, |
| 2484 | { "single_collisions", GM_TXF_SNG_COL }, | ||
| 2484 | { "multi_collisions", GM_TXF_MUL_COL }, | 2485 | { "multi_collisions", GM_TXF_MUL_COL }, |
| 2485 | { "fifo_underrun", GM_TXE_FIFO_UR }, | 2486 | |
| 2486 | { "fifo_overflow", GM_RXE_FIFO_OV }, | 2487 | { "rx_short", GM_RXE_SHT }, |
| 2487 | { "rx_toolong", GM_RXF_LNG_ERR }, | ||
| 2488 | { "rx_jabber", GM_RXF_JAB_PKT }, | ||
| 2489 | { "rx_runt", GM_RXE_FRAG }, | 2488 | { "rx_runt", GM_RXE_FRAG }, |
| 2489 | { "rx_64_byte_packets", GM_RXF_64B }, | ||
| 2490 | { "rx_65_to_127_byte_packets", GM_RXF_127B }, | ||
| 2491 | { "rx_128_to_255_byte_packets", GM_RXF_255B }, | ||
| 2492 | { "rx_256_to_511_byte_packets", GM_RXF_511B }, | ||
| 2493 | { "rx_512_to_1023_byte_packets", GM_RXF_1023B }, | ||
| 2494 | { "rx_1024_to_1518_byte_packets", GM_RXF_1518B }, | ||
| 2495 | { "rx_1518_to_max_byte_packets", GM_RXF_MAX_SZ }, | ||
| 2490 | { "rx_too_long", GM_RXF_LNG_ERR }, | 2496 | { "rx_too_long", GM_RXF_LNG_ERR }, |
| 2497 | { "rx_fifo_overflow", GM_RXE_FIFO_OV }, | ||
| 2498 | { "rx_jabber", GM_RXF_JAB_PKT }, | ||
| 2491 | { "rx_fcs_error", GM_RXF_FCS_ERR }, | 2499 | { "rx_fcs_error", GM_RXF_FCS_ERR }, |
| 2500 | |||
| 2501 | { "tx_64_byte_packets", GM_TXF_64B }, | ||
| 2502 | { "tx_65_to_127_byte_packets", GM_TXF_127B }, | ||
| 2503 | { "tx_128_to_255_byte_packets", GM_TXF_255B }, | ||
| 2504 | { "tx_256_to_511_byte_packets", GM_TXF_511B }, | ||
| 2505 | { "tx_512_to_1023_byte_packets", GM_TXF_1023B }, | ||
| 2506 | { "tx_1024_to_1518_byte_packets", GM_TXF_1518B }, | ||
| 2507 | { "tx_1519_to_max_byte_packets", GM_TXF_MAX_SZ }, | ||
| 2508 | { "tx_fifo_underrun", GM_TXE_FIFO_UR }, | ||
| 2492 | }; | 2509 | }; |
| 2493 | 2510 | ||
| 2494 | static u32 sky2_get_rx_csum(struct net_device *dev) | 2511 | static u32 sky2_get_rx_csum(struct net_device *dev) |
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index d63cd5a1b71c..2838f661b393 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
| @@ -1373,23 +1373,23 @@ enum { | |||
| 1373 | GM_SMI_CTRL = 0x0080, /* 16 bit r/w SMI Control Register */ | 1373 | GM_SMI_CTRL = 0x0080, /* 16 bit r/w SMI Control Register */ |
| 1374 | GM_SMI_DATA = 0x0084, /* 16 bit r/w SMI Data Register */ | 1374 | GM_SMI_DATA = 0x0084, /* 16 bit r/w SMI Data Register */ |
| 1375 | GM_PHY_ADDR = 0x0088, /* 16 bit r/w GPHY Address Register */ | 1375 | GM_PHY_ADDR = 0x0088, /* 16 bit r/w GPHY Address Register */ |
| 1376 | /* MIB Counters */ | ||
| 1377 | GM_MIB_CNT_BASE = 0x0100, /* Base Address of MIB Counters */ | ||
| 1378 | GM_MIB_CNT_SIZE = 256, | ||
| 1376 | }; | 1379 | }; |
| 1377 | 1380 | ||
| 1378 | /* MIB Counters */ | ||
| 1379 | #define GM_MIB_CNT_BASE 0x0100 /* Base Address of MIB Counters */ | ||
| 1380 | #define GM_MIB_CNT_SIZE 44 /* Number of MIB Counters */ | ||
| 1381 | 1381 | ||
| 1382 | /* | 1382 | /* |
| 1383 | * MIB Counters base address definitions (low word) - | 1383 | * MIB Counters base address definitions (low word) - |
| 1384 | * use offset 4 for access to high word (32 bit r/o) | 1384 | * use offset 4 for access to high word (32 bit r/o) |
| 1385 | */ | 1385 | */ |
| 1386 | enum { | 1386 | enum { |
| 1387 | GM_RXF_UC_OK = GM_MIB_CNT_BASE + 0, /* Unicast Frames Received OK */ | 1387 | GM_RXF_UC_OK = GM_MIB_CNT_BASE + 0, /* Unicast Frames Received OK */ |
| 1388 | GM_RXF_BC_OK = GM_MIB_CNT_BASE + 8, /* Broadcast Frames Received OK */ | 1388 | GM_RXF_BC_OK = GM_MIB_CNT_BASE + 8, /* Broadcast Frames Received OK */ |
| 1389 | GM_RXF_MPAUSE = GM_MIB_CNT_BASE + 16, /* Pause MAC Ctrl Frames Received */ | 1389 | GM_RXF_MPAUSE = GM_MIB_CNT_BASE + 16, /* Pause MAC Ctrl Frames Received */ |
| 1390 | GM_RXF_MC_OK = GM_MIB_CNT_BASE + 24, /* Multicast Frames Received OK */ | 1390 | GM_RXF_MC_OK = GM_MIB_CNT_BASE + 24, /* Multicast Frames Received OK */ |
| 1391 | GM_RXF_FCS_ERR = GM_MIB_CNT_BASE + 32, /* Rx Frame Check Seq. Error */ | 1391 | GM_RXF_FCS_ERR = GM_MIB_CNT_BASE + 32, /* Rx Frame Check Seq. Error */ |
| 1392 | /* GM_MIB_CNT_BASE + 40: reserved */ | 1392 | |
| 1393 | GM_RXO_OK_LO = GM_MIB_CNT_BASE + 48, /* Octets Received OK Low */ | 1393 | GM_RXO_OK_LO = GM_MIB_CNT_BASE + 48, /* Octets Received OK Low */ |
| 1394 | GM_RXO_OK_HI = GM_MIB_CNT_BASE + 56, /* Octets Received OK High */ | 1394 | GM_RXO_OK_HI = GM_MIB_CNT_BASE + 56, /* Octets Received OK High */ |
| 1395 | GM_RXO_ERR_LO = GM_MIB_CNT_BASE + 64, /* Octets Received Invalid Low */ | 1395 | GM_RXO_ERR_LO = GM_MIB_CNT_BASE + 64, /* Octets Received Invalid Low */ |
| @@ -1397,37 +1397,36 @@ enum { | |||
| 1397 | GM_RXF_SHT = GM_MIB_CNT_BASE + 80, /* Frames <64 Byte Received OK */ | 1397 | GM_RXF_SHT = GM_MIB_CNT_BASE + 80, /* Frames <64 Byte Received OK */ |
| 1398 | GM_RXE_FRAG = GM_MIB_CNT_BASE + 88, /* Frames <64 Byte Received with FCS Err */ | 1398 | GM_RXE_FRAG = GM_MIB_CNT_BASE + 88, /* Frames <64 Byte Received with FCS Err */ |
| 1399 | GM_RXF_64B = GM_MIB_CNT_BASE + 96, /* 64 Byte Rx Frame */ | 1399 | GM_RXF_64B = GM_MIB_CNT_BASE + 96, /* 64 Byte Rx Frame */ |
| 1400 | GM_RXF_127B = GM_MIB_CNT_BASE + 104, /* 65-127 Byte Rx Frame */ | 1400 | GM_RXF_127B = GM_MIB_CNT_BASE + 104,/* 65-127 Byte Rx Frame */ |
| 1401 | GM_RXF_255B = GM_MIB_CNT_BASE + 112, /* 128-255 Byte Rx Frame */ | 1401 | GM_RXF_255B = GM_MIB_CNT_BASE + 112,/* 128-255 Byte Rx Frame */ |
| 1402 | GM_RXF_511B = GM_MIB_CNT_BASE + 120, /* 256-511 Byte Rx Frame */ | 1402 | GM_RXF_511B = GM_MIB_CNT_BASE + 120,/* 256-511 Byte Rx Frame */ |
| 1403 | GM_RXF_1023B = GM_MIB_CNT_BASE + 128, /* 512-1023 Byte Rx Frame */ | 1403 | GM_RXF_1023B = GM_MIB_CNT_BASE + 128,/* 512-1023 Byte Rx Frame */ |
| 1404 | GM_RXF_1518B = GM_MIB_CNT_BASE + 136, /* 1024-1518 Byte Rx Frame */ | 1404 | GM_RXF_1518B = GM_MIB_CNT_BASE + 136,/* 1024-1518 Byte Rx Frame */ |
| 1405 | GM_RXF_MAX_SZ = GM_MIB_CNT_BASE + 144, /* 1519-MaxSize Byte Rx Frame */ | 1405 | GM_RXF_MAX_SZ = GM_MIB_CNT_BASE + 144,/* 1519-MaxSize Byte Rx Frame */ |
| 1406 | GM_RXF_LNG_ERR = GM_MIB_CNT_BASE + 152, /* Rx Frame too Long Error */ | 1406 | GM_RXF_LNG_ERR = GM_MIB_CNT_BASE + 152,/* Rx Frame too Long Error */ |
| 1407 | GM_RXF_JAB_PKT = GM_MIB_CNT_BASE + 160, /* Rx Jabber Packet Frame */ | 1407 | GM_RXF_JAB_PKT = GM_MIB_CNT_BASE + 160,/* Rx Jabber Packet Frame */ |
| 1408 | /* GM_MIB_CNT_BASE + 168: reserved */ | 1408 | |
| 1409 | GM_RXE_FIFO_OV = GM_MIB_CNT_BASE + 176, /* Rx FIFO overflow Event */ | 1409 | GM_RXE_FIFO_OV = GM_MIB_CNT_BASE + 176,/* Rx FIFO overflow Event */ |
| 1410 | /* GM_MIB_CNT_BASE + 184: reserved */ | 1410 | GM_TXF_UC_OK = GM_MIB_CNT_BASE + 192,/* Unicast Frames Xmitted OK */ |
| 1411 | GM_TXF_UC_OK = GM_MIB_CNT_BASE + 192, /* Unicast Frames Xmitted OK */ | 1411 | GM_TXF_BC_OK = GM_MIB_CNT_BASE + 200,/* Broadcast Frames Xmitted OK */ |
| 1412 | GM_TXF_BC_OK = GM_MIB_CNT_BASE + 200, /* Broadcast Frames Xmitted OK */ | 1412 | GM_TXF_MPAUSE = GM_MIB_CNT_BASE + 208,/* Pause MAC Ctrl Frames Xmitted */ |
| 1413 | GM_TXF_MPAUSE = GM_MIB_CNT_BASE + 208, /* Pause MAC Ctrl Frames Xmitted */ | 1413 | GM_TXF_MC_OK = GM_MIB_CNT_BASE + 216,/* Multicast Frames Xmitted OK */ |
| 1414 | GM_TXF_MC_OK = GM_MIB_CNT_BASE + 216, /* Multicast Frames Xmitted OK */ | 1414 | GM_TXO_OK_LO = GM_MIB_CNT_BASE + 224,/* Octets Transmitted OK Low */ |
| 1415 | GM_TXO_OK_LO = GM_MIB_CNT_BASE + 224, /* Octets Transmitted OK Low */ | 1415 | GM_TXO_OK_HI = GM_MIB_CNT_BASE + 232,/* Octets Transmitted OK High */ |
| 1416 | GM_TXO_OK_HI = GM_MIB_CNT_BASE + 232, /* Octets Transmitted OK High */ | 1416 | GM_TXF_64B = GM_MIB_CNT_BASE + 240,/* 64 Byte Tx Frame */ |
| 1417 | GM_TXF_64B = GM_MIB_CNT_BASE + 240, /* 64 Byte Tx Frame */ | 1417 | GM_TXF_127B = GM_MIB_CNT_BASE + 248,/* 65-127 Byte Tx Frame */ |
| 1418 | GM_TXF_127B = GM_MIB_CNT_BASE + 248, /* 65-127 Byte Tx Frame */ | 1418 | GM_TXF_255B = GM_MIB_CNT_BASE + 256,/* 128-255 Byte Tx Frame */ |
| 1419 | GM_TXF_255B = GM_MIB_CNT_BASE + 256, /* 128-255 Byte Tx Frame */ | 1419 | GM_TXF_511B = GM_MIB_CNT_BASE + 264,/* 256-511 Byte Tx Frame */ |
| 1420 | GM_TXF_511B = GM_MIB_CNT_BASE + 264, /* 256-511 Byte Tx Frame */ | 1420 | GM_TXF_1023B = GM_MIB_CNT_BASE + 272,/* 512-1023 Byte Tx Frame */ |
| 1421 | GM_TXF_1023B = GM_MIB_CNT_BASE + 272, /* 512-1023 Byte Tx Frame */ | 1421 | GM_TXF_1518B = GM_MIB_CNT_BASE + 280,/* 1024-1518 Byte Tx Frame */ |
| 1422 | GM_TXF_1518B = GM_MIB_CNT_BASE + 280, /* 1024-1518 Byte Tx Frame */ | 1422 | GM_TXF_MAX_SZ = GM_MIB_CNT_BASE + 288,/* 1519-MaxSize Byte Tx Frame */ |
| 1423 | GM_TXF_MAX_SZ = GM_MIB_CNT_BASE + 288, /* 1519-MaxSize Byte Tx Frame */ | 1423 | |
| 1424 | 1424 | GM_TXF_COL = GM_MIB_CNT_BASE + 304,/* Tx Collision */ | |
| 1425 | GM_TXF_COL = GM_MIB_CNT_BASE + 304, /* Tx Collision */ | 1425 | GM_TXF_LAT_COL = GM_MIB_CNT_BASE + 312,/* Tx Late Collision */ |
| 1426 | GM_TXF_LAT_COL = GM_MIB_CNT_BASE + 312, /* Tx Late Collision */ | 1426 | GM_TXF_ABO_COL = GM_MIB_CNT_BASE + 320,/* Tx aborted due to Exces. Col. */ |
| 1427 | GM_TXF_ABO_COL = GM_MIB_CNT_BASE + 320, /* Tx aborted due to Exces. Col. */ | 1427 | GM_TXF_MUL_COL = GM_MIB_CNT_BASE + 328,/* Tx Multiple Collision */ |
| 1428 | GM_TXF_MUL_COL = GM_MIB_CNT_BASE + 328, /* Tx Multiple Collision */ | 1428 | GM_TXF_SNG_COL = GM_MIB_CNT_BASE + 336,/* Tx Single Collision */ |
| 1429 | GM_TXF_SNG_COL = GM_MIB_CNT_BASE + 336, /* Tx Single Collision */ | 1429 | GM_TXE_FIFO_UR = GM_MIB_CNT_BASE + 344,/* Tx FIFO Underrun Event */ |
| 1430 | GM_TXE_FIFO_UR = GM_MIB_CNT_BASE + 344, /* Tx FIFO Underrun Event */ | ||
| 1431 | }; | 1430 | }; |
| 1432 | 1431 | ||
| 1433 | /* GMAC Bit Definitions */ | 1432 | /* GMAC Bit Definitions */ |
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index 6299e186c73f..e3dd144d326b 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c | |||
| @@ -1327,11 +1327,11 @@ static void de_clean_rings (struct de_private *de) | |||
| 1327 | struct sk_buff *skb = de->tx_skb[i].skb; | 1327 | struct sk_buff *skb = de->tx_skb[i].skb; |
| 1328 | if ((skb) && (skb != DE_DUMMY_SKB)) { | 1328 | if ((skb) && (skb != DE_DUMMY_SKB)) { |
| 1329 | if (skb != DE_SETUP_SKB) { | 1329 | if (skb != DE_SETUP_SKB) { |
| 1330 | dev_kfree_skb(skb); | ||
| 1331 | de->net_stats.tx_dropped++; | 1330 | de->net_stats.tx_dropped++; |
| 1332 | pci_unmap_single(de->pdev, | 1331 | pci_unmap_single(de->pdev, |
| 1333 | de->tx_skb[i].mapping, | 1332 | de->tx_skb[i].mapping, |
| 1334 | skb->len, PCI_DMA_TODEVICE); | 1333 | skb->len, PCI_DMA_TODEVICE); |
| 1334 | dev_kfree_skb(skb); | ||
| 1335 | } else { | 1335 | } else { |
| 1336 | pci_unmap_single(de->pdev, | 1336 | pci_unmap_single(de->pdev, |
| 1337 | de->tx_skb[i].mapping, | 1337 | de->tx_skb[i].mapping, |
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index dba7f7f02e79..021cd5d08c61 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
| @@ -1364,7 +1364,7 @@ qeth_wait_for_buffer(struct qeth_channel *channel) | |||
| 1364 | static void | 1364 | static void |
| 1365 | qeth_clear_cmd_buffers(struct qeth_channel *channel) | 1365 | qeth_clear_cmd_buffers(struct qeth_channel *channel) |
| 1366 | { | 1366 | { |
| 1367 | int cnt = 0; | 1367 | int cnt; |
| 1368 | 1368 | ||
| 1369 | for (cnt=0; cnt < QETH_CMD_BUFFER_NO; cnt++) | 1369 | for (cnt=0; cnt < QETH_CMD_BUFFER_NO; cnt++) |
| 1370 | qeth_release_buffer(channel,&channel->iob[cnt]); | 1370 | qeth_release_buffer(channel,&channel->iob[cnt]); |
| @@ -2814,11 +2814,11 @@ qeth_handle_send_error(struct qeth_card *card, | |||
| 2814 | QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card)); | 2814 | QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card)); |
| 2815 | return QETH_SEND_ERROR_LINK_FAILURE; | 2815 | return QETH_SEND_ERROR_LINK_FAILURE; |
| 2816 | case 3: | 2816 | case 3: |
| 2817 | default: | ||
| 2817 | QETH_DBF_TEXT(trace, 1, "SIGAcc3"); | 2818 | QETH_DBF_TEXT(trace, 1, "SIGAcc3"); |
| 2818 | QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card)); | 2819 | QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card)); |
| 2819 | return QETH_SEND_ERROR_KICK_IT; | 2820 | return QETH_SEND_ERROR_KICK_IT; |
| 2820 | } | 2821 | } |
| 2821 | return QETH_SEND_ERROR_LINK_FAILURE; | ||
| 2822 | } | 2822 | } |
| 2823 | 2823 | ||
| 2824 | void | 2824 | void |
| @@ -3865,6 +3865,7 @@ qeth_get_cast_type(struct qeth_card *card, struct sk_buff *skb) | |||
| 3865 | if ((hdr_mac == QETH_TR_MAC_NC) || | 3865 | if ((hdr_mac == QETH_TR_MAC_NC) || |
| 3866 | (hdr_mac == QETH_TR_MAC_C)) | 3866 | (hdr_mac == QETH_TR_MAC_C)) |
| 3867 | return RTN_MULTICAST; | 3867 | return RTN_MULTICAST; |
| 3868 | break; | ||
| 3868 | /* eth or so multicast? */ | 3869 | /* eth or so multicast? */ |
| 3869 | default: | 3870 | default: |
| 3870 | if ((hdr_mac == QETH_ETH_MAC_V4) || | 3871 | if ((hdr_mac == QETH_ETH_MAC_V4) || |
| @@ -4419,6 +4420,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) | |||
| 4419 | int elements_needed = 0; | 4420 | int elements_needed = 0; |
| 4420 | enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO; | 4421 | enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO; |
| 4421 | struct qeth_eddp_context *ctx = NULL; | 4422 | struct qeth_eddp_context *ctx = NULL; |
| 4423 | int tx_bytes = skb->len; | ||
| 4422 | int rc; | 4424 | int rc; |
| 4423 | 4425 | ||
| 4424 | QETH_DBF_TEXT(trace, 6, "sendpkt"); | 4426 | QETH_DBF_TEXT(trace, 6, "sendpkt"); |
| @@ -4499,7 +4501,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) | |||
| 4499 | elements_needed, ctx); | 4501 | elements_needed, ctx); |
| 4500 | if (!rc){ | 4502 | if (!rc){ |
| 4501 | card->stats.tx_packets++; | 4503 | card->stats.tx_packets++; |
| 4502 | card->stats.tx_bytes += skb->len; | 4504 | card->stats.tx_bytes += tx_bytes; |
| 4503 | #ifdef CONFIG_QETH_PERF_STATS | 4505 | #ifdef CONFIG_QETH_PERF_STATS |
| 4504 | if (skb_shinfo(skb)->tso_size && | 4506 | if (skb_shinfo(skb)->tso_size && |
| 4505 | !(large_send == QETH_LARGE_SEND_NO)) { | 4507 | !(large_send == QETH_LARGE_SEND_NO)) { |
| @@ -4585,38 +4587,11 @@ qeth_mdio_read(struct net_device *dev, int phy_id, int regnum) | |||
| 4585 | case MII_NCONFIG: /* network interface config */ | 4587 | case MII_NCONFIG: /* network interface config */ |
| 4586 | break; | 4588 | break; |
| 4587 | default: | 4589 | default: |
| 4588 | rc = 0; | ||
| 4589 | break; | 4590 | break; |
| 4590 | } | 4591 | } |
| 4591 | return rc; | 4592 | return rc; |
| 4592 | } | 4593 | } |
| 4593 | 4594 | ||
| 4594 | static void | ||
| 4595 | qeth_mdio_write(struct net_device *dev, int phy_id, int regnum, int value) | ||
| 4596 | { | ||
| 4597 | switch(regnum){ | ||
| 4598 | case MII_BMCR: /* Basic mode control register */ | ||
| 4599 | case MII_BMSR: /* Basic mode status register */ | ||
| 4600 | case MII_PHYSID1: /* PHYS ID 1 */ | ||
| 4601 | case MII_PHYSID2: /* PHYS ID 2 */ | ||
| 4602 | case MII_ADVERTISE: /* Advertisement control reg */ | ||
| 4603 | case MII_LPA: /* Link partner ability reg */ | ||
| 4604 | case MII_EXPANSION: /* Expansion register */ | ||
| 4605 | case MII_DCOUNTER: /* disconnect counter */ | ||
| 4606 | case MII_FCSCOUNTER: /* false carrier counter */ | ||
| 4607 | case MII_NWAYTEST: /* N-way auto-neg test register */ | ||
| 4608 | case MII_RERRCOUNTER: /* rx error counter */ | ||
| 4609 | case MII_SREVISION: /* silicon revision */ | ||
| 4610 | case MII_RESV1: /* reserved 1 */ | ||
| 4611 | case MII_LBRERROR: /* loopback, rx, bypass error */ | ||
| 4612 | case MII_PHYADDR: /* physical address */ | ||
| 4613 | case MII_RESV2: /* reserved 2 */ | ||
| 4614 | case MII_TPISTATUS: /* TPI status for 10mbps */ | ||
| 4615 | case MII_NCONFIG: /* network interface config */ | ||
| 4616 | default: | ||
| 4617 | break; | ||
| 4618 | } | ||
| 4619 | } | ||
| 4620 | 4595 | ||
| 4621 | static inline const char * | 4596 | static inline const char * |
| 4622 | qeth_arp_get_error_cause(int *rc) | 4597 | qeth_arp_get_error_cause(int *rc) |
| @@ -5236,21 +5211,6 @@ qeth_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
| 5236 | mii_data->val_out = qeth_mdio_read(dev,mii_data->phy_id, | 5211 | mii_data->val_out = qeth_mdio_read(dev,mii_data->phy_id, |
| 5237 | mii_data->reg_num); | 5212 | mii_data->reg_num); |
| 5238 | break; | 5213 | break; |
| 5239 | case SIOCSMIIREG: | ||
| 5240 | rc = -EOPNOTSUPP; | ||
| 5241 | break; | ||
| 5242 | /* TODO: remove return if qeth_mdio_write does something */ | ||
| 5243 | if (!capable(CAP_NET_ADMIN)){ | ||
| 5244 | rc = -EPERM; | ||
| 5245 | break; | ||
| 5246 | } | ||
| 5247 | mii_data = if_mii(rq); | ||
| 5248 | if (mii_data->phy_id != 0) | ||
| 5249 | rc = -EINVAL; | ||
| 5250 | else | ||
| 5251 | qeth_mdio_write(dev, mii_data->phy_id, mii_data->reg_num, | ||
| 5252 | mii_data->val_in); | ||
| 5253 | break; | ||
| 5254 | default: | 5214 | default: |
| 5255 | rc = -EOPNOTSUPP; | 5215 | rc = -EOPNOTSUPP; |
| 5256 | } | 5216 | } |
| @@ -6900,7 +6860,7 @@ qeth_send_setassparms(struct qeth_card *card, struct qeth_cmd_buffer *iob, | |||
| 6900 | cmd = (struct qeth_ipa_cmd *)(iob->data+IPA_PDU_HEADER_SIZE); | 6860 | cmd = (struct qeth_ipa_cmd *)(iob->data+IPA_PDU_HEADER_SIZE); |
| 6901 | if (len <= sizeof(__u32)) | 6861 | if (len <= sizeof(__u32)) |
| 6902 | cmd->data.setassparms.data.flags_32bit = (__u32) data; | 6862 | cmd->data.setassparms.data.flags_32bit = (__u32) data; |
| 6903 | else if (len > sizeof(__u32)) | 6863 | else /* (len > sizeof(__u32)) */ |
| 6904 | memcpy(&cmd->data.setassparms.data, (void *) data, len); | 6864 | memcpy(&cmd->data.setassparms.data, (void *) data, len); |
| 6905 | 6865 | ||
| 6906 | rc = qeth_send_ipa_cmd(card, iob, reply_cb, reply_param); | 6866 | rc = qeth_send_ipa_cmd(card, iob, reply_cb, reply_param); |
| @@ -7379,11 +7339,6 @@ qeth_setrouting_v6(struct qeth_card *card) | |||
| 7379 | qeth_correct_routing_type(card, &card->options.route6.type, | 7339 | qeth_correct_routing_type(card, &card->options.route6.type, |
| 7380 | QETH_PROT_IPV6); | 7340 | QETH_PROT_IPV6); |
| 7381 | 7341 | ||
| 7382 | if ((card->options.route6.type == NO_ROUTER) || | ||
| 7383 | ((card->info.type == QETH_CARD_TYPE_OSAE) && | ||
| 7384 | (card->options.route6.type == MULTICAST_ROUTER) && | ||
| 7385 | !qeth_is_supported6(card,IPA_OSA_MC_ROUTER))) | ||
| 7386 | return 0; | ||
| 7387 | rc = qeth_send_setrouting(card, card->options.route6.type, | 7342 | rc = qeth_send_setrouting(card, card->options.route6.type, |
| 7388 | QETH_PROT_IPV6); | 7343 | QETH_PROT_IPV6); |
| 7389 | if (rc) { | 7344 | if (rc) { |
diff --git a/drivers/s390/net/qeth_proc.c b/drivers/s390/net/qeth_proc.c index 3c6339df879d..360d782c7ada 100644 --- a/drivers/s390/net/qeth_proc.c +++ b/drivers/s390/net/qeth_proc.c | |||
| @@ -74,7 +74,7 @@ qeth_procfile_seq_next(struct seq_file *s, void *it, loff_t *offset) | |||
| 74 | static inline const char * | 74 | static inline const char * |
| 75 | qeth_get_router_str(struct qeth_card *card, int ipv) | 75 | qeth_get_router_str(struct qeth_card *card, int ipv) |
| 76 | { | 76 | { |
| 77 | int routing_type = 0; | 77 | enum qeth_routing_types routing_type = NO_ROUTER; |
| 78 | 78 | ||
| 79 | if (ipv == 4) { | 79 | if (ipv == 4) { |
| 80 | routing_type = card->options.route4.type; | 80 | routing_type = card->options.route4.type; |
| @@ -86,26 +86,26 @@ qeth_get_router_str(struct qeth_card *card, int ipv) | |||
| 86 | #endif /* CONFIG_QETH_IPV6 */ | 86 | #endif /* CONFIG_QETH_IPV6 */ |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | if (routing_type == PRIMARY_ROUTER) | 89 | switch (routing_type){ |
| 90 | case PRIMARY_ROUTER: | ||
| 90 | return "pri"; | 91 | return "pri"; |
| 91 | else if (routing_type == SECONDARY_ROUTER) | 92 | case SECONDARY_ROUTER: |
| 92 | return "sec"; | 93 | return "sec"; |
| 93 | else if (routing_type == MULTICAST_ROUTER) { | 94 | case MULTICAST_ROUTER: |
| 94 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) | 95 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) |
| 95 | return "mc+"; | 96 | return "mc+"; |
| 96 | return "mc"; | 97 | return "mc"; |
| 97 | } else if (routing_type == PRIMARY_CONNECTOR) { | 98 | case PRIMARY_CONNECTOR: |
| 98 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) | 99 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) |
| 99 | return "p+c"; | 100 | return "p+c"; |
| 100 | return "p.c"; | 101 | return "p.c"; |
| 101 | } else if (routing_type == SECONDARY_CONNECTOR) { | 102 | case SECONDARY_CONNECTOR: |
| 102 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) | 103 | if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) |
| 103 | return "s+c"; | 104 | return "s+c"; |
| 104 | return "s.c"; | 105 | return "s.c"; |
| 105 | } else if (routing_type == NO_ROUTER) | 106 | default: /* NO_ROUTER */ |
| 106 | return "no"; | 107 | return "no"; |
| 107 | else | 108 | } |
| 108 | return "unk"; | ||
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | static int | 111 | static int |
| @@ -192,27 +192,27 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it) | |||
| 192 | CARD_DDEV_ID(card), | 192 | CARD_DDEV_ID(card), |
| 193 | QETH_CARD_IFNAME(card) | 193 | QETH_CARD_IFNAME(card) |
| 194 | ); | 194 | ); |
| 195 | seq_printf(s, " Skb's/buffers received : %li/%i\n" | 195 | seq_printf(s, " Skb's/buffers received : %lu/%u\n" |
| 196 | " Skb's/buffers sent : %li/%i\n\n", | 196 | " Skb's/buffers sent : %lu/%u\n\n", |
| 197 | card->stats.rx_packets, card->perf_stats.bufs_rec, | 197 | card->stats.rx_packets, card->perf_stats.bufs_rec, |
| 198 | card->stats.tx_packets, card->perf_stats.bufs_sent | 198 | card->stats.tx_packets, card->perf_stats.bufs_sent |
| 199 | ); | 199 | ); |
| 200 | seq_printf(s, " Skb's/buffers sent without packing : %li/%i\n" | 200 | seq_printf(s, " Skb's/buffers sent without packing : %lu/%u\n" |
| 201 | " Skb's/buffers sent with packing : %i/%i\n\n", | 201 | " Skb's/buffers sent with packing : %u/%u\n\n", |
| 202 | card->stats.tx_packets - card->perf_stats.skbs_sent_pack, | 202 | card->stats.tx_packets - card->perf_stats.skbs_sent_pack, |
| 203 | card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack, | 203 | card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack, |
| 204 | card->perf_stats.skbs_sent_pack, | 204 | card->perf_stats.skbs_sent_pack, |
| 205 | card->perf_stats.bufs_sent_pack | 205 | card->perf_stats.bufs_sent_pack |
| 206 | ); | 206 | ); |
| 207 | seq_printf(s, " Skbs sent in SG mode : %i\n" | 207 | seq_printf(s, " Skbs sent in SG mode : %u\n" |
| 208 | " Skb fragments sent in SG mode : %i\n\n", | 208 | " Skb fragments sent in SG mode : %u\n\n", |
| 209 | card->perf_stats.sg_skbs_sent, | 209 | card->perf_stats.sg_skbs_sent, |
| 210 | card->perf_stats.sg_frags_sent); | 210 | card->perf_stats.sg_frags_sent); |
| 211 | seq_printf(s, " large_send tx (in Kbytes) : %i\n" | 211 | seq_printf(s, " large_send tx (in Kbytes) : %u\n" |
| 212 | " large_send count : %i\n\n", | 212 | " large_send count : %u\n\n", |
| 213 | card->perf_stats.large_send_bytes >> 10, | 213 | card->perf_stats.large_send_bytes >> 10, |
| 214 | card->perf_stats.large_send_cnt); | 214 | card->perf_stats.large_send_cnt); |
| 215 | seq_printf(s, " Packing state changes no pkg.->packing : %i/%i\n" | 215 | seq_printf(s, " Packing state changes no pkg.->packing : %u/%u\n" |
| 216 | " Watermarks L/H : %i/%i\n" | 216 | " Watermarks L/H : %i/%i\n" |
| 217 | " Current buffer usage (outbound q's) : " | 217 | " Current buffer usage (outbound q's) : " |
| 218 | "%i/%i/%i/%i\n\n", | 218 | "%i/%i/%i/%i\n\n", |
| @@ -229,16 +229,16 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it) | |||
| 229 | atomic_read(&card->qdio.out_qs[3]->used_buffers) | 229 | atomic_read(&card->qdio.out_qs[3]->used_buffers) |
| 230 | : 0 | 230 | : 0 |
| 231 | ); | 231 | ); |
| 232 | seq_printf(s, " Inbound handler time (in us) : %i\n" | 232 | seq_printf(s, " Inbound handler time (in us) : %u\n" |
| 233 | " Inbound handler count : %i\n" | 233 | " Inbound handler count : %u\n" |
| 234 | " Inbound do_QDIO time (in us) : %i\n" | 234 | " Inbound do_QDIO time (in us) : %u\n" |
| 235 | " Inbound do_QDIO count : %i\n\n" | 235 | " Inbound do_QDIO count : %u\n\n" |
| 236 | " Outbound handler time (in us) : %i\n" | 236 | " Outbound handler time (in us) : %u\n" |
| 237 | " Outbound handler count : %i\n\n" | 237 | " Outbound handler count : %u\n\n" |
| 238 | " Outbound time (in us, incl QDIO) : %i\n" | 238 | " Outbound time (in us, incl QDIO) : %u\n" |
| 239 | " Outbound count : %i\n" | 239 | " Outbound count : %u\n" |
| 240 | " Outbound do_QDIO time (in us) : %i\n" | 240 | " Outbound do_QDIO time (in us) : %u\n" |
| 241 | " Outbound do_QDIO count : %i\n\n", | 241 | " Outbound do_QDIO count : %u\n\n", |
| 242 | card->perf_stats.inbound_time, | 242 | card->perf_stats.inbound_time, |
| 243 | card->perf_stats.inbound_cnt, | 243 | card->perf_stats.inbound_cnt, |
| 244 | card->perf_stats.inbound_do_qdio_time, | 244 | card->perf_stats.inbound_do_qdio_time, |
diff --git a/drivers/s390/net/qeth_sys.c b/drivers/s390/net/qeth_sys.c index c1831f572585..f2a076a2b2f1 100644 --- a/drivers/s390/net/qeth_sys.c +++ b/drivers/s390/net/qeth_sys.c | |||
| @@ -115,7 +115,7 @@ qeth_dev_portno_store(struct device *dev, struct device_attribute *attr, const c | |||
| 115 | return -EPERM; | 115 | return -EPERM; |
| 116 | 116 | ||
| 117 | portno = simple_strtoul(buf, &tmp, 16); | 117 | portno = simple_strtoul(buf, &tmp, 16); |
| 118 | if ((portno < 0) || (portno > MAX_PORTNO)){ | 118 | if (portno > MAX_PORTNO){ |
| 119 | PRINT_WARN("portno 0x%X is out of range\n", portno); | 119 | PRINT_WARN("portno 0x%X is out of range\n", portno); |
| 120 | return -EINVAL; | 120 | return -EINVAL; |
| 121 | } | 121 | } |
