diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2012-02-28 23:33:37 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-29 13:46:05 -0500 |
commit | 65ec698d1368fc64d0b93fb703783d25ec550577 (patch) | |
tree | 3823115e31e764ca677d7198873dc4da95b0b69f /drivers/net/virtio_net.c | |
parent | 4c90d3b30334833450ccbb02f452d4972a3c3c3f (diff) | |
download | op-kernel-dev-65ec698d1368fc64d0b93fb703783d25ec550577.zip op-kernel-dev-65ec698d1368fc64d0b93fb703783d25ec550577.tar.gz |
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 'drivers/net/virtio_net.c')
0 files changed, 0 insertions, 0 deletions