diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/atlx/atl1.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/atlx/atl1.c')
-rw-r--r-- | drivers/net/atlx/atl1.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 00569dc1313c..0ebd8208f606 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c | |||
@@ -84,7 +84,7 @@ | |||
84 | 84 | ||
85 | #define ATLX_DRIVER_VERSION "2.1.3" | 85 | #define ATLX_DRIVER_VERSION "2.1.3" |
86 | MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \ | 86 | MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \ |
87 | Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>"); | 87 | Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>"); |
88 | MODULE_LICENSE("GPL"); | 88 | MODULE_LICENSE("GPL"); |
89 | MODULE_VERSION(ATLX_DRIVER_VERSION); | 89 | MODULE_VERSION(ATLX_DRIVER_VERSION); |
90 | 90 | ||
@@ -232,7 +232,7 @@ static void __devinit atl1_check_options(struct atl1_adapter *adapter) | |||
232 | /* | 232 | /* |
233 | * atl1_pci_tbl - PCI Device ID Table | 233 | * atl1_pci_tbl - PCI Device ID Table |
234 | */ | 234 | */ |
235 | static const struct pci_device_id atl1_pci_tbl[] = { | 235 | static DEFINE_PCI_DEVICE_TABLE(atl1_pci_tbl) = { |
236 | {PCI_DEVICE(PCI_VENDOR_ID_ATTANSIC, PCI_DEVICE_ID_ATTANSIC_L1)}, | 236 | {PCI_DEVICE(PCI_VENDOR_ID_ATTANSIC, PCI_DEVICE_ID_ATTANSIC_L1)}, |
237 | /* required last entry */ | 237 | /* required last entry */ |
238 | {0,} | 238 | {0,} |
@@ -1344,8 +1344,8 @@ static u32 atl1_check_link(struct atl1_adapter *adapter) | |||
1344 | 1344 | ||
1345 | /* link result is our setting */ | 1345 | /* link result is our setting */ |
1346 | if (!reconfig) { | 1346 | if (!reconfig) { |
1347 | if (adapter->link_speed != speed | 1347 | if (adapter->link_speed != speed || |
1348 | || adapter->link_duplex != duplex) { | 1348 | adapter->link_duplex != duplex) { |
1349 | adapter->link_speed = speed; | 1349 | adapter->link_speed = speed; |
1350 | adapter->link_duplex = duplex; | 1350 | adapter->link_duplex = duplex; |
1351 | atl1_setup_mac_ctrl(adapter); | 1351 | atl1_setup_mac_ctrl(adapter); |
@@ -1864,21 +1864,14 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter) | |||
1864 | 1864 | ||
1865 | rfd_desc = ATL1_RFD_DESC(rfd_ring, rfd_next_to_use); | 1865 | rfd_desc = ATL1_RFD_DESC(rfd_ring, rfd_next_to_use); |
1866 | 1866 | ||
1867 | skb = netdev_alloc_skb(adapter->netdev, | 1867 | skb = netdev_alloc_skb_ip_align(adapter->netdev, |
1868 | adapter->rx_buffer_len + NET_IP_ALIGN); | 1868 | adapter->rx_buffer_len); |
1869 | if (unlikely(!skb)) { | 1869 | if (unlikely(!skb)) { |
1870 | /* Better luck next round */ | 1870 | /* Better luck next round */ |
1871 | adapter->netdev->stats.rx_dropped++; | 1871 | adapter->netdev->stats.rx_dropped++; |
1872 | break; | 1872 | break; |
1873 | } | 1873 | } |
1874 | 1874 | ||
1875 | /* | ||
1876 | * Make buffer alignment 2 beyond a 16 byte boundary | ||
1877 | * this will result in a 16 byte aligned IP header after | ||
1878 | * the 14 byte MAC header is removed | ||
1879 | */ | ||
1880 | skb_reserve(skb, NET_IP_ALIGN); | ||
1881 | |||
1882 | buffer_info->alloced = 1; | 1875 | buffer_info->alloced = 1; |
1883 | buffer_info->skb = skb; | 1876 | buffer_info->skb = skb; |
1884 | buffer_info->length = (u16) adapter->rx_buffer_len; | 1877 | buffer_info->length = (u16) adapter->rx_buffer_len; |
@@ -2094,8 +2087,8 @@ static void atl1_intr_tx(struct atl1_adapter *adapter) | |||
2094 | } | 2087 | } |
2095 | atomic_set(&tpd_ring->next_to_clean, sw_tpd_next_to_clean); | 2088 | atomic_set(&tpd_ring->next_to_clean, sw_tpd_next_to_clean); |
2096 | 2089 | ||
2097 | if (netif_queue_stopped(adapter->netdev) | 2090 | if (netif_queue_stopped(adapter->netdev) && |
2098 | && netif_carrier_ok(adapter->netdev)) | 2091 | netif_carrier_ok(adapter->netdev)) |
2099 | netif_wake_queue(adapter->netdev); | 2092 | netif_wake_queue(adapter->netdev); |
2100 | } | 2093 | } |
2101 | 2094 | ||
@@ -2596,7 +2589,7 @@ static s32 atl1_up(struct atl1_adapter *adapter) | |||
2596 | irq_flags |= IRQF_SHARED; | 2589 | irq_flags |= IRQF_SHARED; |
2597 | } | 2590 | } |
2598 | 2591 | ||
2599 | err = request_irq(adapter->pdev->irq, &atl1_intr, irq_flags, | 2592 | err = request_irq(adapter->pdev->irq, atl1_intr, irq_flags, |
2600 | netdev->name, netdev); | 2593 | netdev->name, netdev); |
2601 | if (unlikely(err)) | 2594 | if (unlikely(err)) |
2602 | goto err_up; | 2595 | goto err_up; |