Avoid that SCSI scanning triggers creation of targets with non-zero
channel or non-zero id.

Signed-off-by: Bart Van Assche <[email protected]>
Cc: Roland Dreier <[email protected]>
Cc: David Dillow <[email protected]>
Cc: <[email protected]>
---
 drivers/infiniband/ulp/srp/ib_srp.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
b/drivers/infiniband/ulp/srp/ib_srp.c
index ee165fd..de4fd32 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -110,6 +110,11 @@ static const char *srp_target_info(struct Scsi_Host *host)
        return host_to_target(host)->target_name;
 }
 
+static int srp_target_alloc(struct scsi_target *starget)
+{
+       return starget->channel == 0 && starget->id == 0 ? 0 : -ENODEV;
+}
+
 static int srp_target_is_topspin(struct srp_target_port *target)
 {
        static const u8 topspin_oui[3] = { 0x00, 0x05, 0xad };
@@ -1836,6 +1841,7 @@ static struct scsi_host_template srp_template = {
        .name                           = "InfiniBand SRP initiator",
        .proc_name                      = DRV_NAME,
        .info                           = srp_target_info,
+       .target_alloc                   = srp_target_alloc,
        .queuecommand                   = srp_queuecommand,
        .eh_abort_handler               = srp_abort,
        .eh_device_reset_handler        = srp_reset_device,
-- 
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to