IB/srp: Improve an error path
authorBart Van Assche <bart.vanassche@sandisk.com>
Tue, 14 Feb 2017 18:56:34 +0000 (10:56 -0800)
committerDoug Ledford <dledford@redhat.com>
Sun, 19 Feb 2017 14:51:54 +0000 (09:51 -0500)
Avoid that the following message is printed if login fails:

scsi host0: ib_srp: Sending CM DREQ failed

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Israel Rukshin <israelr@mellanox.com>
Cc: Max Gurtovoy <maxg@mellanox.com>
Cc: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/srp/ib_srp.c

index 33dd0920c248a72b7c883ba91f899a43ae74a7a9..e8225cc8b9381d07d398617394ed3649e2c643a5 100644 (file)
@@ -3440,7 +3440,7 @@ static ssize_t srp_create_target(struct device *dev,
                                             target->ch_count,
                                             ch->target->orig_dgid.raw);
                                if (node_idx == 0 && cpu_idx == 0) {
-                                       goto err_disconnect;
+                                       goto free_ch;
                                } else {
                                        srp_free_ch_ib(target, ch);
                                        srp_free_req_data(target, ch);
@@ -3487,6 +3487,7 @@ put:
 err_disconnect:
        srp_disconnect_target(target);
 
+free_ch:
        for (i = 0; i < target->ch_count; i++) {
                ch = &target->ch[i];
                srp_free_ch_ib(target, ch);