summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorMatt Carlson2012-02-29 00:33:37 +0100
committerDavid S. Miller2012-02-29 19:46:05 +0100
commit65ec698d1368fc64d0b93fb703783d25ec550577 (patch)
tree3823115e31e764ca677d7198873dc4da95b0b69f /net
parenttcp: fix false reordering signal in tcp_shifted_skb (diff)
downloadkernel-qcow2-linux-65ec698d1368fc64d0b93fb703783d25ec550577.tar.gz
kernel-qcow2-linux-65ec698d1368fc64d0b93fb703783d25ec550577.tar.xz
kernel-qcow2-linux-65ec698d1368fc64d0b93fb703783d25ec550577.zip
tg3: Fix tg3_get_stats64 for 5700 / 5701 devs
tg3_get_stats64() takes tp->lock when dealing with non-serdes bcm5700 and bcm5701 devices. However, functions that call tg3_halt() have already acquired tp->lock. When tg3_get_stats64() is called in tg3_halt(), deadlock will occur. This patch fixes the problem by separating the stat gathering code into a new tg3_get_nstats() function. tg3_get_stats64() is recoded to call this function and take tp->lock. The code that takes tp->lock in tg3_calc_crc_errors() has been removed. Function signatures have been cleaned up too. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions