Skip to content

Commit

Permalink
firewire: sbp2: Ignore SBP-2 targets on the local node
Browse files Browse the repository at this point in the history
The firewire-sbp2 module tries to login to an SBP-2/3 target even when
it is running on the local node, which fails because of the inability to
fetch data from DMA mapped regions using firewire transactions on the
local node. It also doesn't make much sense to have the initiator and
target on the same node, so this patch prevents this behaviour.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (changed the comment)
  • Loading branch information
bootc authored and Stefan Richter committed Feb 22, 2012
1 parent 8ff6a75 commit 7404456
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/firewire/sbp2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1141,6 +1141,10 @@ static int sbp2_probe(struct device *dev)
struct Scsi_Host *shost;
u32 model, firmware_revision;

/* cannot (or should not) handle targets on the local node */
if (device->is_local)
return -ENODEV;

if (dma_get_max_seg_size(device->card->device) > SBP2_MAX_SEG_SIZE)
BUG_ON(dma_set_max_seg_size(device->card->device,
SBP2_MAX_SEG_SIZE));
Expand Down

0 comments on commit 7404456

Please sign in to comment.