]> git.baikalelectronics.ru Git - kernel.git/commit
qlge: Fix bug in firmware event handler.
authorRon Mercer <ron.mercer@qlogic.com>
Sun, 7 Jun 2009 13:58:26 +0000 (13:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Jun 2009 07:09:45 +0000 (00:09 -0700)
commitd984df1040b9908dd89c71fb31fe5176be881da5
tree0197a8c0f33079462c57ca09888dc729cb8dd49b
parent22644a7fbf589441ede7b0125774fa8fd1f95133
qlge: Fix bug in firmware event handler.

Each firmware mailbox command can have a different number of
valid data elements. When waiting for a mailbox command to
complete it the process passes it's element count and
waits for the completion.  It is possible that while waiting
an unrelated firmware async event (AE) can arrive.  When this
happens, the handler will over write the element count
with the value for the newly arrived AE. This can cause
the mailbox command to not get all of it's data.
This patch restores original mailbox count at the end
of the handler.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/qlge/qlge_mpi.c