Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 115189
b: refs/heads/master
c: 4bbc1bd
h: refs/heads/master
i:
  115187: 325da37
v: v3
  • Loading branch information
Stefan Richter committed Oct 15, 2008
1 parent e58679a commit 4c371cc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 09b12dd4e3caff165a0f17a2f3ebd2bbc8544cc6
refs/heads/master: 4bbc1bdd010cbfcb749e4f947161ec3ab3337893
7 changes: 5 additions & 2 deletions trunk/drivers/firewire/fw-sbp2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1423,7 +1423,7 @@ static int sbp2_scsi_queuecommand(struct scsi_cmnd *cmd, scsi_done_fn_t done)
struct fw_device *device = fw_device(lu->tgt->unit->device.parent);
struct sbp2_command_orb *orb;
unsigned int max_payload;
int retval = SCSI_MLQUEUE_HOST_BUSY;
int generation, retval = SCSI_MLQUEUE_HOST_BUSY;

/*
* Bidirectional commands are not yet implemented, and unknown
Expand Down Expand Up @@ -1467,6 +1467,9 @@ static int sbp2_scsi_queuecommand(struct scsi_cmnd *cmd, scsi_done_fn_t done)
if (cmd->sc_data_direction == DMA_FROM_DEVICE)
orb->request.misc |= cpu_to_be32(COMMAND_ORB_DIRECTION);

generation = device->generation;
smp_rmb(); /* sbp2_map_scatterlist looks at tgt->address_high */

if (scsi_sg_count(cmd) && sbp2_map_scatterlist(orb, device, lu) < 0)
goto out;

Expand All @@ -1479,7 +1482,7 @@ static int sbp2_scsi_queuecommand(struct scsi_cmnd *cmd, scsi_done_fn_t done)
if (dma_mapping_error(device->card->device, orb->base.request_bus))
goto out;

sbp2_send_orb(&orb->base, lu, lu->tgt->node_id, lu->generation,
sbp2_send_orb(&orb->base, lu, lu->tgt->node_id, generation,
lu->command_block_agent_address + SBP2_ORB_POINTER);
retval = 0;
out:
Expand Down

0 comments on commit 4c371cc

Please sign in to comment.