Dan,
Will take a look and submit patch to remove warning. Thanks.
Regards,
Quinn Tran
-Original Message-
From: Dan Carpenter <dan.carpen...@oracle.com>
Date: Monday, February 6, 2017 at 3:37 AM
To: "Tran, Quinn" <quinn.t...@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(>hw->pdev->dev,
3911 sizeof(struct ct_sns_pkt),
>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, 0x,
3922 "Failed to allocate ct_sns request.\n");
3923 kfree(fcport);
3924 fcport = NULL;
3925 }
3926 INIT_WORK(>del_work, qla24xx_delete_sess_fn);
3927 INIT_LIST_HEAD(>gnl_entry);
3928 INIT_LIST_HEAD(>list);
3929
3930 return fcport;
3931 }
regards,
dan carpenter