diff options
author | Philip J Kelleher <pjk1939@linux.vnet.ibm.com> | 2013-06-18 23:34:54 +0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-06-19 15:52:09 +0400 |
commit | a3299ab18591d36ad5622f5064619123c439b779 (patch) | |
tree | 5a08d03af4ef28eea4f1638a385d10d3fa107856 /drivers/block/rsxx/rsxx_priv.h | |
parent | 9138125beabbb76b4a373d4a619870f6f5d86fc5 (diff) | |
download | linux-a3299ab18591d36ad5622f5064619123c439b779.tar.xz |
rsxx: Individual workqueues for interruptible events.
Giving all interrupt based events their own workqueue to complete
tasks on. This fixes a bug that would cause creg commands to timeout
if too many are issued at once.
Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/rsxx/rsxx_priv.h')
-rw-r--r-- | drivers/block/rsxx/rsxx_priv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/block/rsxx/rsxx_priv.h b/drivers/block/rsxx/rsxx_priv.h index 382e8bf5c03b..0dd62d966772 100644 --- a/drivers/block/rsxx/rsxx_priv.h +++ b/drivers/block/rsxx/rsxx_priv.h @@ -134,6 +134,7 @@ struct rsxx_cardinfo { spinlock_t lock; bool active; struct creg_cmd *active_cmd; + struct workqueue_struct *creg_wq; struct work_struct done_work; struct list_head queue; unsigned int q_depth; @@ -154,6 +155,7 @@ struct rsxx_cardinfo { int buf_len; } log; + struct workqueue_struct *event_wq; struct work_struct event_work; unsigned int state; u64 size8; |