[lkml]   [2008]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[2.6.24-rc BUGFIX] SRP transport: only remove our own entries
    The SCSI SRP transport class currently iterates over all children
    devices of the host that is being removed in srp_remove_host(). However,
    not all of those children were created by the SRP transport, and
    removing them will cause corruption and an oops when their creator tries
    to remove them.

    Signed-off-by: David Dillow <>
    Acked-by: FUJITA Tomonori <>
    On Fri, 2008-01-04 at 09:47 +0900, FUJITA Tomonori wrote:
    > On Thu, 03 Jan 2008 15:51:25 -0500
    > I think that this is the root problem and the patch fixes it in the
    > right way. Please send this patch to and a
    > patch to move srp_remove_host before scsi_remove_host in
    > srp_remove_one to Roland.
    > Acked-by: FUJITA Tomonori <>

    diff --git a/drivers/scsi/scsi_transport_srp.c b/drivers/scsi/scsi_transport_srp.c
    index 44a340b..65c584d 100644
    --- a/drivers/scsi/scsi_transport_srp.c
    +++ b/drivers/scsi/scsi_transport_srp.c
    @@ -265,7 +265,8 @@ EXPORT_SYMBOL_GPL(srp_rport_del);

    static int do_srp_rport_del(struct device *dev, void *data)
    - srp_rport_del(dev_to_rport(dev));
    + if (scsi_is_srp_rport(dev))
    + srp_rport_del(dev_to_rport(dev));
    return 0;

     \ /
      Last update: 2008-01-04 03:37    [W:0.023 / U:19.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site