diff options
Diffstat (limited to 'drivers/block/ps3disk.c')
-rw-r--r-- | drivers/block/ps3disk.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/block/ps3disk.c b/drivers/block/ps3disk.c index d23b54bc2f50..f6586e4d351c 100644 --- a/drivers/block/ps3disk.c +++ b/drivers/block/ps3disk.c | |||
@@ -231,7 +231,6 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data) | |||
231 | struct request *req; | 231 | struct request *req; |
232 | int res, read, error; | 232 | int res, read, error; |
233 | u64 tag, status; | 233 | u64 tag, status; |
234 | unsigned long num_sectors; | ||
235 | const char *op; | 234 | const char *op; |
236 | 235 | ||
237 | res = lv1_storage_get_async_status(dev->sbd.dev_id, &tag, &status); | 236 | res = lv1_storage_get_async_status(dev->sbd.dev_id, &tag, &status); |
@@ -261,11 +260,9 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data) | |||
261 | if (req->cmd_type == REQ_TYPE_LINUX_BLOCK && | 260 | if (req->cmd_type == REQ_TYPE_LINUX_BLOCK && |
262 | req->cmd[0] == REQ_LB_OP_FLUSH) { | 261 | req->cmd[0] == REQ_LB_OP_FLUSH) { |
263 | read = 0; | 262 | read = 0; |
264 | num_sectors = req->hard_cur_sectors; | ||
265 | op = "flush"; | 263 | op = "flush"; |
266 | } else { | 264 | } else { |
267 | read = !rq_data_dir(req); | 265 | read = !rq_data_dir(req); |
268 | num_sectors = req->nr_sectors; | ||
269 | op = read ? "read" : "write"; | 266 | op = read ? "read" : "write"; |
270 | } | 267 | } |
271 | if (status) { | 268 | if (status) { |
@@ -281,7 +278,7 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data) | |||
281 | } | 278 | } |
282 | 279 | ||
283 | spin_lock(&priv->lock); | 280 | spin_lock(&priv->lock); |
284 | __blk_end_request(req, error, num_sectors << 9); | 281 | __blk_end_request_all(req, error); |
285 | priv->req = NULL; | 282 | priv->req = NULL; |
286 | ps3disk_do_request(dev, priv->queue); | 283 | ps3disk_do_request(dev, priv->queue); |
287 | spin_unlock(&priv->lock); | 284 | spin_unlock(&priv->lock); |