aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firewire/fw-sbp2.c5
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);