diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-05 10:32:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-05 10:32:21 -0400 |
commit | ed7dc1dfbcef301407a1e3138a49dc94e5a19d0a (patch) | |
tree | 2aef7400d404774f0f8a30b6eefb0690a09ec24c /drivers/net/bnx2.c | |
parent | 7926e0bfbbc5ff81ddad0fda831eef7060e40997 (diff) | |
parent | ca7335948e294faf8adf65f2c95ca18ea78540db (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
X25: remove duplicated #include
tcp: use correct net ns in cookie_v4_check()
rps: tcp: fix rps_sock_flow_table table updates
ppp_generic: fix multilink fragment sizes
syncookies: remove Kconfig text line about disabled-by-default
ixgbe: only check pfc bits in hang logic if pfc is enabled
net: check for refcount if pop a stacked dst_entry
ixgbe: return IXGBE_ERR_RAR_INDEX when out of range
act_pedit: access skb->data safely
sfc: Store port number in net_device::dev_id
epic100: Test __BIG_ENDIAN instead of (non-existent) CONFIG_BIG_ENDIAN
tehuti: return -EFAULT on copy_to_user errors
isdn/kcapi: return -EFAULT on copy_from_user errors
e1000e: change logical negate to bitwise
sfc: Get port number from CS_PORT_NUM, not PCI function number
cls_u32: use skb_header_pointer() to dereference data safely
TCP: tcp_hybla: Fix integer overflow in slow start increment
act_nat: fix the wrong checksum when addr isn't in old_addr/mask
net/fec: fix pm to survive to suspend/resume
korina: count RX DMA OVR as rx_fifo_error
...
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r-- | drivers/net/bnx2.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 188e356c30a3..949d7a9dcf92 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -247,6 +247,7 @@ static const struct flash_spec flash_5709 = { | |||
247 | MODULE_DEVICE_TABLE(pci, bnx2_pci_tbl); | 247 | MODULE_DEVICE_TABLE(pci, bnx2_pci_tbl); |
248 | 248 | ||
249 | static void bnx2_init_napi(struct bnx2 *bp); | 249 | static void bnx2_init_napi(struct bnx2 *bp); |
250 | static void bnx2_del_napi(struct bnx2 *bp); | ||
250 | 251 | ||
251 | static inline u32 bnx2_tx_avail(struct bnx2 *bp, struct bnx2_tx_ring_info *txr) | 252 | static inline u32 bnx2_tx_avail(struct bnx2 *bp, struct bnx2_tx_ring_info *txr) |
252 | { | 253 | { |
@@ -6270,6 +6271,7 @@ open_err: | |||
6270 | bnx2_free_skbs(bp); | 6271 | bnx2_free_skbs(bp); |
6271 | bnx2_free_irq(bp); | 6272 | bnx2_free_irq(bp); |
6272 | bnx2_free_mem(bp); | 6273 | bnx2_free_mem(bp); |
6274 | bnx2_del_napi(bp); | ||
6273 | return rc; | 6275 | return rc; |
6274 | } | 6276 | } |
6275 | 6277 | ||
@@ -6537,6 +6539,7 @@ bnx2_close(struct net_device *dev) | |||
6537 | bnx2_free_irq(bp); | 6539 | bnx2_free_irq(bp); |
6538 | bnx2_free_skbs(bp); | 6540 | bnx2_free_skbs(bp); |
6539 | bnx2_free_mem(bp); | 6541 | bnx2_free_mem(bp); |
6542 | bnx2_del_napi(bp); | ||
6540 | bp->link_up = 0; | 6543 | bp->link_up = 0; |
6541 | netif_carrier_off(bp->dev); | 6544 | netif_carrier_off(bp->dev); |
6542 | bnx2_set_power_state(bp, PCI_D3hot); | 6545 | bnx2_set_power_state(bp, PCI_D3hot); |
@@ -8227,7 +8230,16 @@ bnx2_bus_string(struct bnx2 *bp, char *str) | |||
8227 | return str; | 8230 | return str; |
8228 | } | 8231 | } |
8229 | 8232 | ||
8230 | static void __devinit | 8233 | static void |
8234 | bnx2_del_napi(struct bnx2 *bp) | ||
8235 | { | ||
8236 | int i; | ||
8237 | |||
8238 | for (i = 0; i < bp->irq_nvecs; i++) | ||
8239 | netif_napi_del(&bp->bnx2_napi[i].napi); | ||
8240 | } | ||
8241 | |||
8242 | static void | ||
8231 | bnx2_init_napi(struct bnx2 *bp) | 8243 | bnx2_init_napi(struct bnx2 *bp) |
8232 | { | 8244 | { |
8233 | int i; | 8245 | int i; |