lkml.org 
[lkml]   [2016]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 117/192] [PATCH 121/135] lpfc: Fix DMA faults observed upon plugging loopback connector
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit ae09c765109293b600ba9169aa3d632e1ac1a843 ]

    Driver didn't program the REG_VFI mailbox correctly, giving the adapter
    bad addresses.

    Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
    Signed-off-by: James Smart <james.smart@avagotech.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/scsi/lpfc/lpfc_mbox.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    --- a/drivers/scsi/lpfc/lpfc_mbox.c
    +++ b/drivers/scsi/lpfc/lpfc_mbox.c
    @@ -2145,10 +2145,12 @@ lpfc_reg_vfi(struct lpfcMboxq *mbox, str
    reg_vfi->wwn[1] = cpu_to_le32(reg_vfi->wwn[1]);
    reg_vfi->e_d_tov = phba->fc_edtov;
    reg_vfi->r_a_tov = phba->fc_ratov;
    - reg_vfi->bde.addrHigh = putPaddrHigh(phys);
    - reg_vfi->bde.addrLow = putPaddrLow(phys);
    - reg_vfi->bde.tus.f.bdeSize = sizeof(vport->fc_sparam);
    - reg_vfi->bde.tus.f.bdeFlags = BUFF_TYPE_BDE_64;
    + if (phys) {
    + reg_vfi->bde.addrHigh = putPaddrHigh(phys);
    + reg_vfi->bde.addrLow = putPaddrLow(phys);
    + reg_vfi->bde.tus.f.bdeSize = sizeof(vport->fc_sparam);
    + reg_vfi->bde.tus.f.bdeFlags = BUFF_TYPE_BDE_64;
    + }
    bf_set(lpfc_reg_vfi_nport_id, reg_vfi, vport->fc_myDID);

    /* Only FC supports upd bit */

    \
     
     \ /
      Last update: 2016-09-17 09:59    [W:3.139 / U:0.372 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site