diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/cciss.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 12d7b9bdfa93..0d65394707db 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -2183,6 +2183,7 @@ static void cciss_softirq_done(struct request *rq) | |||
2183 | { | 2183 | { |
2184 | CommandList_struct *cmd = rq->completion_data; | 2184 | CommandList_struct *cmd = rq->completion_data; |
2185 | ctlr_info_t *h = hba[cmd->ctlr]; | 2185 | ctlr_info_t *h = hba[cmd->ctlr]; |
2186 | unsigned long flags; | ||
2186 | u64bit temp64; | 2187 | u64bit temp64; |
2187 | int i, ddir; | 2188 | int i, ddir; |
2188 | 2189 | ||
@@ -2205,10 +2206,10 @@ static void cciss_softirq_done(struct request *rq) | |||
2205 | printk("Done with %p\n", rq); | 2206 | printk("Done with %p\n", rq); |
2206 | #endif /* CCISS_DEBUG */ | 2207 | #endif /* CCISS_DEBUG */ |
2207 | 2208 | ||
2208 | spin_lock_irq(&h->lock); | 2209 | spin_lock_irqsave(&h->lock, flags); |
2209 | end_that_request_last(rq, rq->errors); | 2210 | end_that_request_last(rq, rq->errors); |
2210 | cmd_free(h, cmd,1); | 2211 | cmd_free(h, cmd,1); |
2211 | spin_unlock_irq(&h->lock); | 2212 | spin_unlock_irqrestore(&h->lock, flags); |
2212 | } | 2213 | } |
2213 | 2214 | ||
2214 | /* checks the status of the job and calls complete buffers to mark all | 2215 | /* checks the status of the job and calls complete buffers to mark all |