diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-03-09 11:00:06 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-04-23 12:03:39 +0100 |
commit | 22b9153faa2263aa89625de25e71c7d44c8dbd16 (patch) | |
tree | 1157d64a9c63c5b7b48b4a5b3610965d8d4c9624 /lib/klist.c | |
parent | f8fc75dc576eac0c996e4a792a4701819d999260 (diff) | |
download | blackbird-obmc-linux-22b9153faa2263aa89625de25e71c7d44c8dbd16.tar.gz blackbird-obmc-linux-22b9153faa2263aa89625de25e71c7d44c8dbd16.zip |
[SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work
When requeuing work to a draining workqueue the last work instance may
not be idle, so sas_queue_work() must not touch work->entry. Introduce
sas_work with a drain_node list_head to have a private list for
collecting work deferred due to drain collision.
Fixes reports like:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff810410d4>] process_one_work+0x2e/0x338
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'lib/klist.c')
0 files changed, 0 insertions, 0 deletions