]> git.baikalelectronics.ru Git - kernel.git/commit
[TG3]: Fix missing memory barriers and SD_STATUS_UPDATED bit clearing.
authorDavid S. Miller <davem@davemloft.net>
Sat, 25 Jun 2005 03:17:10 +0000 (20:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Jun 2005 03:17:10 +0000 (20:17 -0700)
commit1919332c80438ebcdc148c24d0412fc30e2b0301
treedbbb56422f949a85291383600472d869a8d08765
parentf18add7ce3c0a4b8a82a7aa8d68e191d699b5ddc
[TG3]: Fix missing memory barriers and SD_STATUS_UPDATED bit clearing.

There must be a rmb() between reading the status block tag
and calling tg3_has_work().  This was missing in tg3_mis()
and tg3_interrupt_tagged().  tg3_poll() got it right.

Also, SD_STATUS_UPDATED must be cleared in the status block
right before we call tg3_has_work().  Only tg3_poll() got this
wrong.

Based upon patches and commentary from Grant Grundler and
Michael Chan.

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c