lkml.org 
[lkml]   [2022]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 0979/1126] scsi: qla2xxx: edif: Fix clang warning
    Date
    From: Quinn Tran <qutran@marvell.com>

    commit 73825fd7a37c1a685e9e9e27c9dc91ef1f3e2971 upstream.

    Silence compile warning due to unaligned memory access.

    qla_edif.c:713:45: warning: taking address of packed member 'u' of class or
    structure 'auth_complete_cmd' may result in an unaligned pointer value
    [-Waddress-of-packed-member]
    fcport = qla2x00_find_fcport_by_pid(vha, &appplogiok.u.d_id);

    Link: https://lore.kernel.org/r/20220110050218.3958-13-njavali@marvell.com
    Cc: stable@vger.kernel.org
    Reported-by: kernel test robot <lkp@intel.com>
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Signed-off-by: Quinn Tran <qutran@marvell.com>
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/scsi/qla2xxx/qla_edif.c | 22 +++++++++++++++++++---
    1 file changed, 19 insertions(+), 3 deletions(-)

    --- a/drivers/scsi/qla2xxx/qla_edif.c
    +++ b/drivers/scsi/qla2xxx/qla_edif.c
    @@ -668,6 +668,11 @@ qla_edif_app_authok(scsi_qla_host_t *vha
    bsg_job->request_payload.sg_cnt, &appplogiok,
    sizeof(struct auth_complete_cmd));

    + /* silent unaligned access warning */
    + portid.b.domain = appplogiok.u.d_id.b.domain;
    + portid.b.area = appplogiok.u.d_id.b.area;
    + portid.b.al_pa = appplogiok.u.d_id.b.al_pa;
    +
    switch (appplogiok.type) {
    case PL_TYPE_WWPN:
    fcport = qla2x00_find_fcport_by_wwpn(vha,
    @@ -678,7 +683,7 @@ qla_edif_app_authok(scsi_qla_host_t *vha
    __func__, appplogiok.u.wwpn);
    break;
    case PL_TYPE_DID:
    - fcport = qla2x00_find_fcport_by_pid(vha, &appplogiok.u.d_id);
    + fcport = qla2x00_find_fcport_by_pid(vha, &portid);
    if (!fcport)
    ql_dbg(ql_dbg_edif, vha, 0x911d,
    "%s d_id lookup failed: %x\n", __func__,
    @@ -777,6 +782,11 @@ qla_edif_app_authfail(scsi_qla_host_t *v
    bsg_job->request_payload.sg_cnt, &appplogifail,
    sizeof(struct auth_complete_cmd));

    + /* silent unaligned access warning */
    + portid.b.domain = appplogifail.u.d_id.b.domain;
    + portid.b.area = appplogifail.u.d_id.b.area;
    + portid.b.al_pa = appplogifail.u.d_id.b.al_pa;
    +
    /*
    * TODO: edif: app has failed this plogi. Inform driver to
    * take any action (if any).
    @@ -788,7 +798,7 @@ qla_edif_app_authfail(scsi_qla_host_t *v
    SET_DID_STATUS(bsg_reply->result, DID_OK);
    break;
    case PL_TYPE_DID:
    - fcport = qla2x00_find_fcport_by_pid(vha, &appplogifail.u.d_id);
    + fcport = qla2x00_find_fcport_by_pid(vha, &portid);
    if (!fcport)
    ql_dbg(ql_dbg_edif, vha, 0x911d,
    "%s d_id lookup failed: %x\n", __func__,
    @@ -1253,6 +1263,7 @@ qla24xx_sadb_update(struct bsg_job *bsg_
    int result = 0;
    struct qla_sa_update_frame sa_frame;
    struct srb_iocb *iocb_cmd;
    + port_id_t portid;

    ql_dbg(ql_dbg_edif + ql_dbg_verbose, vha, 0x911d,
    "%s entered, vha: 0x%p\n", __func__, vha);
    @@ -1276,7 +1287,12 @@ qla24xx_sadb_update(struct bsg_job *bsg_
    goto done;
    }

    - fcport = qla2x00_find_fcport_by_pid(vha, &sa_frame.port_id);
    + /* silent unaligned access warning */
    + portid.b.domain = sa_frame.port_id.b.domain;
    + portid.b.area = sa_frame.port_id.b.area;
    + portid.b.al_pa = sa_frame.port_id.b.al_pa;
    +
    + fcport = qla2x00_find_fcport_by_pid(vha, &portid);
    if (fcport) {
    found = 1;
    if (sa_frame.flags == QLA_SA_UPDATE_FLAGS_TX_KEY)

    \
     
     \ /
      Last update: 2022-04-05 13:47    [W:2.639 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site