From: Matt Carlson Date: Tue, 28 Feb 2012 23:33:37 +0000 (+0000) Subject: tg3: Fix tg3_get_stats64 for 5700 / 5701 devs X-Git-Tag: v3.3-rc7~39^2~12 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65ec698d1368fc64d0b93fb703783d25ec550577;p=pandora-kernel.git 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 Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- Reading git-diff-tree failed