* [bug report] qla2xxx: Add framework for async fabric discovery
@ 2017-02-06 11:37 Dan Carpenter
2017-02-06 17:41 ` Tran, Quinn
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2017-02-06 11:37 UTC (permalink / raw)
To: quinn.tran; +Cc: linux-scsi
Hello Quinn Tran,
The patch b79414ee4988: "qla2xxx: Add framework for async fabric
discovery" from Jan 19, 2017, leads to the following static checker
warning:
drivers/scsi/qla2xxx/qla_init.c:3910 qla2x00_alloc_fcport()
warn: use 'flags' here instead of GFP_XXX?
drivers/scsi/qla2xxx/qla_init.c
3894 fc_port_t *
3895 qla2x00_alloc_fcport(scsi_qla_host_t *vha, gfp_t flags)
3896 {
3897 fc_port_t *fcport;
3898
3899 fcport = kzalloc(sizeof(fc_port_t), flags);
In pratice "flags" is always GFP_KERNEL.
3900 if (!fcport)
3901 return NULL;
3902
3903 /* Setup fcport template structure. */
3904 fcport->vha = vha;
3905 fcport->port_type = FCT_UNKNOWN;
3906 fcport->loop_id = FC_NO_LOOP_ID;
3907 qla2x00_set_fcport_state(fcport, FCS_UNCONFIGURED);
3908 fcport->supported_classes = FC_COS_UNSPECIFIED;
3909
3910 fcport->ct_desc.ct_sns = dma_alloc_coherent(&vha->hw->pdev->dev,
3911 sizeof(struct ct_sns_pkt), &fcport->ct_desc.ct_sns_dma,
3912 GFP_ATOMIC);
There isn't an obvious reason why GFP_ATOMIC is required here.
3913 fcport->disc_state = DSC_DELETED;
3914 fcport->fw_login_state = DSC_LS_PORT_UNAVAIL;
3915 fcport->deleted = QLA_SESS_DELETED;
3916 fcport->login_retry = vha->hw->login_retry_count;
3917 fcport->login_retry = 5;
3918 fcport->logout_on_delete = 1;
3919
3920 if (!fcport->ct_desc.ct_sns) {
3921 ql_log(ql_log_warn, vha, 0xffff,
3922 "Failed to allocate ct_sns request.\n");
3923 kfree(fcport);
3924 fcport = NULL;
3925 }
3926 INIT_WORK(&fcport->del_work, qla24xx_delete_sess_fn);
3927 INIT_LIST_HEAD(&fcport->gnl_entry);
3928 INIT_LIST_HEAD(&fcport->list);
3929
3930 return fcport;
3931 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [bug report] qla2xxx: Add framework for async fabric discovery
2017-02-06 11:37 [bug report] qla2xxx: Add framework for async fabric discovery Dan Carpenter
@ 2017-02-06 17:41 ` Tran, Quinn
0 siblings, 0 replies; 2+ messages in thread
From: Tran, Quinn @ 2017-02-06 17:41 UTC (permalink / raw)
To: Dan Carpenter; +Cc: linux-scsi, Madhani, Himanshu
Dan,
Will take a look and submit patch to remove warning. Thanks.
Regards,
Quinn Tran
-----Original Message-----
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Monday, February 6, 2017 at 3:37 AM
To: "Tran, Quinn" <Quinn.Tran@cavium.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: [bug report] qla2xxx: Add framework for async fabric discovery
Hello Quinn Tran,
The patch b79414ee4988: "qla2xxx: Add framework for async fabric
discovery" from Jan 19, 2017, leads to the following static checker
warning:
drivers/scsi/qla2xxx/qla_init.c:3910 qla2x00_alloc_fcport()
warn: use 'flags' here instead of GFP_XXX?
drivers/scsi/qla2xxx/qla_init.c
3894 fc_port_t *
3895 qla2x00_alloc_fcport(scsi_qla_host_t *vha, gfp_t flags)
3896 {
3897 fc_port_t *fcport;
3898
3899 fcport = kzalloc(sizeof(fc_port_t), flags);
In pratice "flags" is always GFP_KERNEL.
3900 if (!fcport)
3901 return NULL;
3902
3903 /* Setup fcport template structure. */
3904 fcport->vha = vha;
3905 fcport->port_type = FCT_UNKNOWN;
3906 fcport->loop_id = FC_NO_LOOP_ID;
3907 qla2x00_set_fcport_state(fcport, FCS_UNCONFIGURED);
3908 fcport->supported_classes = FC_COS_UNSPECIFIED;
3909
3910 fcport->ct_desc.ct_sns = dma_alloc_coherent(&vha->hw->pdev->dev,
3911 sizeof(struct ct_sns_pkt), &fcport->ct_desc.ct_sns_dma,
3912 GFP_ATOMIC);
There isn't an obvious reason why GFP_ATOMIC is required here.
3913 fcport->disc_state = DSC_DELETED;
3914 fcport->fw_login_state = DSC_LS_PORT_UNAVAIL;
3915 fcport->deleted = QLA_SESS_DELETED;
3916 fcport->login_retry = vha->hw->login_retry_count;
3917 fcport->login_retry = 5;
3918 fcport->logout_on_delete = 1;
3919
3920 if (!fcport->ct_desc.ct_sns) {
3921 ql_log(ql_log_warn, vha, 0xffff,
3922 "Failed to allocate ct_sns request.\n");
3923 kfree(fcport);
3924 fcport = NULL;
3925 }
3926 INIT_WORK(&fcport->del_work, qla24xx_delete_sess_fn);
3927 INIT_LIST_HEAD(&fcport->gnl_entry);
3928 INIT_LIST_HEAD(&fcport->list);
3929
3930 return fcport;
3931 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-06 17:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 11:37 [bug report] qla2xxx: Add framework for async fabric discovery Dan Carpenter
2017-02-06 17:41 ` Tran, Quinn
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.