diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 20:49:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 20:49:50 -0400 |
commit | b9099ff63c75216d6ca10bce5a1abcd9293c27e6 (patch) | |
tree | 244c167220a1921156cdf24eb19f663f25e9c517 | |
parent | 940155309cd037d3a49ad01276e591b872e8a832 (diff) | |
parent | dc5a144991ba803bc8afded105c9db1dea0e57ab (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:
sis900: Allocate rx replacement buffer before rx operation
usb-net/pegasus: simplify carrier detection
-rw-r--r-- | drivers/net/sis900.c | 9 | ||||
-rw-r--r-- | drivers/usb/net/pegasus.c | 10 | ||||
-rw-r--r-- | drivers/usb/net/pegasus.h | 3 |
3 files changed, 6 insertions, 16 deletions
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index dea0126723da..2cb2e156c758 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c | |||
@@ -1753,6 +1753,7 @@ static int sis900_rx(struct net_device *net_dev) | |||
1753 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; | 1753 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; |
1754 | } else { | 1754 | } else { |
1755 | struct sk_buff * skb; | 1755 | struct sk_buff * skb; |
1756 | struct sk_buff * rx_skb; | ||
1756 | 1757 | ||
1757 | pci_unmap_single(sis_priv->pci_dev, | 1758 | pci_unmap_single(sis_priv->pci_dev, |
1758 | sis_priv->rx_ring[entry].bufptr, RX_BUF_SIZE, | 1759 | sis_priv->rx_ring[entry].bufptr, RX_BUF_SIZE, |
@@ -1786,10 +1787,10 @@ static int sis900_rx(struct net_device *net_dev) | |||
1786 | } | 1787 | } |
1787 | 1788 | ||
1788 | /* give the socket buffer to upper layers */ | 1789 | /* give the socket buffer to upper layers */ |
1789 | skb = sis_priv->rx_skbuff[entry]; | 1790 | rx_skb = sis_priv->rx_skbuff[entry]; |
1790 | skb_put(skb, rx_size); | 1791 | skb_put(rx_skb, rx_size); |
1791 | skb->protocol = eth_type_trans(skb, net_dev); | 1792 | rx_skb->protocol = eth_type_trans(rx_skb, net_dev); |
1792 | netif_rx(skb); | 1793 | netif_rx(rx_skb); |
1793 | 1794 | ||
1794 | /* some network statistics */ | 1795 | /* some network statistics */ |
1795 | if ((rx_status & BCAST) == MCAST) | 1796 | if ((rx_status & BCAST) == MCAST) |
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 1ad4ee54b186..a05fd97e5bc2 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c | |||
@@ -847,16 +847,6 @@ static void intr_callback(struct urb *urb) | |||
847 | * d[0].NO_CARRIER kicks in only with failed TX. | 847 | * d[0].NO_CARRIER kicks in only with failed TX. |
848 | * ... so monitoring with MII may be safest. | 848 | * ... so monitoring with MII may be safest. |
849 | */ | 849 | */ |
850 | if (pegasus->features & TRUST_LINK_STATUS) { | ||
851 | if (d[5] & LINK_STATUS) | ||
852 | netif_carrier_on(net); | ||
853 | else | ||
854 | netif_carrier_off(net); | ||
855 | } else { | ||
856 | /* Never set carrier _on_ based on ! NO_CARRIER */ | ||
857 | if (d[0] & NO_CARRIER) | ||
858 | netif_carrier_off(net); | ||
859 | } | ||
860 | 850 | ||
861 | /* bytes 3-4 == rx_lostpkt, reg 2E/2F */ | 851 | /* bytes 3-4 == rx_lostpkt, reg 2E/2F */ |
862 | pegasus->stats.rx_missed_errors += ((d[3] & 0x7f) << 8) | d[4]; | 852 | pegasus->stats.rx_missed_errors += ((d[3] & 0x7f) << 8) | d[4]; |
diff --git a/drivers/usb/net/pegasus.h b/drivers/usb/net/pegasus.h index c7aadb413e8c..c7467823cd1c 100644 --- a/drivers/usb/net/pegasus.h +++ b/drivers/usb/net/pegasus.h | |||
@@ -11,7 +11,6 @@ | |||
11 | 11 | ||
12 | #define PEGASUS_II 0x80000000 | 12 | #define PEGASUS_II 0x80000000 |
13 | #define HAS_HOME_PNA 0x40000000 | 13 | #define HAS_HOME_PNA 0x40000000 |
14 | #define TRUST_LINK_STATUS 0x20000000 | ||
15 | 14 | ||
16 | #define PEGASUS_MTU 1536 | 15 | #define PEGASUS_MTU 1536 |
17 | #define RX_SKBS 4 | 16 | #define RX_SKBS 4 |
@@ -204,7 +203,7 @@ PEGASUS_DEV( "AEI USB Fast Ethernet Adapter", VENDOR_AEILAB, 0x1701, | |||
204 | PEGASUS_DEV( "Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100, | 203 | PEGASUS_DEV( "Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100, |
205 | DEFAULT_GPIO_RESET | PEGASUS_II ) | 204 | DEFAULT_GPIO_RESET | PEGASUS_II ) |
206 | PEGASUS_DEV( "Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121, | 205 | PEGASUS_DEV( "Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121, |
207 | DEFAULT_GPIO_RESET | PEGASUS_II | TRUST_LINK_STATUS ) | 206 | DEFAULT_GPIO_RESET | PEGASUS_II ) |
208 | PEGASUS_DEV( "Billionton USB-100", VENDOR_BILLIONTON, 0x0986, | 207 | PEGASUS_DEV( "Billionton USB-100", VENDOR_BILLIONTON, 0x0986, |
209 | DEFAULT_GPIO_RESET ) | 208 | DEFAULT_GPIO_RESET ) |
210 | PEGASUS_DEV( "Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987, | 209 | PEGASUS_DEV( "Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987, |