drivers/scsi/libfc/fc_disc.c:304
 fc_disc_error() warn: passing zero to 'PTR_ERR'

fc_disc_error() expect a ERR_PTR pointer, so pass
ERR_PTR(err) to fix this.

Signed-off-by: YueHaibing <[email protected]>
---
 drivers/scsi/libfc/fc_disc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c
index d8cbc9c0e766..1077fcff4d50 100644
--- a/drivers/scsi/libfc/fc_disc.c
+++ b/drivers/scsi/libfc/fc_disc.c
@@ -343,6 +343,7 @@ static void fc_disc_gpn_ft_req(struct fc_disc *disc)
 {
        struct fc_frame *fp;
        struct fc_lport *lport = fc_disc_lport(disc);
+       int err;
 
        lockdep_assert_held(&disc->disc_mutex);
 
@@ -356,8 +357,10 @@ static void fc_disc_gpn_ft_req(struct fc_disc *disc)
        fp = fc_frame_alloc(lport,
                            sizeof(struct fc_ct_hdr) +
                            sizeof(struct fc_ns_gid_ft));
-       if (!fp)
+       if (!fp) {
+               err = -ENOMEM;
                goto err;
+       }
 
        if (lport->tt.elsct_send(lport, 0, fp,
                                 FC_NS_GPN_FT,
@@ -365,7 +368,7 @@ static void fc_disc_gpn_ft_req(struct fc_disc *disc)
                                 disc, 3 * lport->r_a_tov))
                return;
 err:
-       fc_disc_error(disc, NULL);
+       fc_disc_error(disc, ERR_PTR(err));
 }
 
 /**
-- 
2.17.1


Reply via email to