]> git.karo-electronics.de Git - karo-tx-linux.git/commit
atl1c: Fix work event interrupt/task races
authorTim Gardner <timg@tpi.com>
Wed, 20 Apr 2011 09:00:49 +0000 (09:00 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 May 2011 22:06:38 +0000 (15:06 -0700)
commitb000ec13075615ace30250ab6e355a3f0c956735
treeca897ac53ab025779def9bd00b1f8b39ceb045c3
parent40b2b978ebc16d96805c8330883967a0ca8aedf9
atl1c: Fix work event interrupt/task races

commit cb771838715b1c470bc5735bdae709b33b18e0ad upstream.

The mechanism used to initiate work events from the interrupt
handler has a classic read/modify/write race between the interrupt
handler that sets the condition, and the worker task that reads and
clears the condition. Close these races by using atomic
bit fields.

Cc: Jie Yang <jie.yang@atheros.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/atl1c/atl1c.h
drivers/net/atl1c/atl1c_main.c