[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F365C01.6000807@ladisch.de>
Date: Sat, 11 Feb 2012 13:16:01 +0100
From: Clemens Ladisch <clemens@...isch.de>
To: Stefan Richter <stefanr@...6.in-berlin.de>
CC: Chris Boot <bootc@...tc.net>, Greg KH <gregkh@...uxfoundation.org>,
linux1394-devel@...ts.sourceforge.net, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] firewire-sbp2: Ignore SBP-2 targets on the local
node
Stefan Richter wrote:
> On Feb 10 Chris Boot wrote:
>> 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.
>
> In the long run, we might want to support target and initiator set up to
> reside on the same node and talking to each other via loopback, if
> somebody really needs it and if it can be done with reasonably little
> effort.
Handling SBP data packets in the driver is required if we do not want to
allow remote DMA from any device that claims to be a target. This is
somewhere on my todo list.
>> + /* ignore targets on the local node */
>> + if (device->node == device->card->local_node) {
>> + dev_set_drvdata(&unit->device, NULL);
>> + return 0;
>> + }
>
> But I do wonder: Shouldn't this be implemented by returning from the
> driver probe method with an error?
AFAIK zero means "attach", and the drvdata pointer has no meaning to the
core.
> If so, which errno should be returned?
-ENODEV or -ENXIO.
Regards,
Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists