diff options
-rw-r--r-- | drivers/firewire/fw-sbp2.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index a7525234c862..c1e93165efdb 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/drivers/firewire/fw-sbp2.c | |||
@@ -293,7 +293,8 @@ sbp2_status_write(struct fw_card *card, struct fw_request *request, | |||
293 | spin_lock_irqsave(&card->lock, flags); | 293 | spin_lock_irqsave(&card->lock, flags); |
294 | list_for_each_entry(orb, &sd->orb_list, link) { | 294 | list_for_each_entry(orb, &sd->orb_list, link) { |
295 | if (status_get_orb_high(status) == 0 && | 295 | if (status_get_orb_high(status) == 0 && |
296 | status_get_orb_low(status) == orb->request_bus) { | 296 | status_get_orb_low(status) == orb->request_bus && |
297 | orb->rcode == RCODE_COMPLETE) { | ||
297 | list_del(&orb->link); | 298 | list_del(&orb->link); |
298 | break; | 299 | break; |
299 | } | 300 | } |
@@ -968,6 +969,8 @@ static int sbp2_scsi_queuecommand(struct scsi_cmnd *cmd, scsi_done_fn_t done) | |||
968 | goto fail_alloc; | 969 | goto fail_alloc; |
969 | } | 970 | } |
970 | 971 | ||
972 | /* Initialize rcode to something not RCODE_COMPLETE. */ | ||
973 | orb->base.rcode = -1; | ||
971 | orb->base.request_bus = | 974 | orb->base.request_bus = |
972 | dma_map_single(device->card->device, &orb->request, | 975 | dma_map_single(device->card->device, &orb->request, |
973 | sizeof orb->request, DMA_TO_DEVICE); | 976 | sizeof orb->request, DMA_TO_DEVICE); |