dca: redesign locks to fix deadlocks
authorMaciej Sosnowski <maciej.sosnowski@intel.com>
Tue, 3 Feb 2009 07:26:57 +0000 (23:26 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Feb 2009 07:26:57 +0000 (23:26 -0800)
commiteb4400e3a040b90a3ad805b01fcbc99a5f615c8f
tree07c71314d189e5d0688d97f1cd2b3b504eb4892b
parentff01b9163655ace76b29b7ff2f56b25c32f795da
dca: redesign locks to fix deadlocks

Change spin_locks to irqsave to prevent dead-locks.
Protect adding and deleting to/from dca_providers list.
Drop the lock during dca_sysfs_add_req() and dca_sysfs_remove_req() calls
as they might sleep (use GFP_KERNEL allocation).

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/dca/dca-core.c