From patchwork Fri Jun 3 13:14:08 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 629824 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3rLl1G586wz9t5x; Fri, 3 Jun 2016 23:14:26 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical-com.20150623.gappssmtp.com header.i=@canonical-com.20150623.gappssmtp.com header.b=eIBJS/co; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1b8ovd-0006uY-CQ; Fri, 03 Jun 2016 13:14:21 +0000 Received: from mail-it0-f50.google.com ([209.85.214.50]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1b8ovZ-0006uC-CU for kernel-team@lists.ubuntu.com; Fri, 03 Jun 2016 13:14:17 +0000 Received: by mail-it0-f50.google.com with SMTP id f67so8485421ith.1 for ; Fri, 03 Jun 2016 06:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=xa/63eCKIMi14UcIr7Zin0a5Z+a4VIDiZ+1cht4g3NE=; b=eIBJS/co6IebfEMY2/WGjNo7D1ZLIKC8Pfyy+0ay2kwiMAMTlf0Nl66UEOGKy1fCDe H6RwFt1bWicOe+FCz/9QxL96AhQfkqLXK3r5lJAzkBp5Zy5iyb7geBwb52Z4A/sxHeuv g/y7kwVyA2mncyVeRrsZCfY6TA8tTjgF3Py4EhIBSGTmHUnEXUk6Fv1hDdtqRpvDZD8L QNjHFuD4QMaw0F+jldueWOoQ9cv4rQ47x97DH3M44pjYza5RU9g4n1xj5DEyDyLih2lx 0WpIp3OAR/9sD0YyFiEKfi3DshhHCFxW0BIW4oltdBtLRMmfQ0UiUjheCv65ZOqkjJFl KIVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=xa/63eCKIMi14UcIr7Zin0a5Z+a4VIDiZ+1cht4g3NE=; b=WyoLL6vkzr36runBC7+NC2KIy/5LWMoO+9MI7SHnAcNV44UB920leR3+VdwnSJq6wC R08fXKokm3iCY5DGKv10qoo2f997b1f3ogYl1FQsntyOKUMAvMRBaNgzuzxosYaPs7d1 ssVNax71uzMv4U8zXergvZaHfW9ecXQvK3kyZOeJf3lnQBdKeI9QssSZGu0NAKhuoqBs lNkglI26TMpv/4MOdh9e6DxObHC0ox9c2FRKsWwJIBAHS1HNDx+lP4BmmsEin/6cMTry h9YTTWfGaDPGeKF6EyBPiI5tuLqv2z9o8ttMtgeCNYGDZx9MJmPJmHKhsHbB7MC1QEon ONQQ== X-Gm-Message-State: ALyK8tJxRyW5pkfgOBG8ZfbeB0JrNsc1wABzeRSoQ1MDlPEvc33MRDNW3pvpXKxK2XtlUHpU X-Received: by 10.36.14.71 with SMTP id 68mr9831483ite.98.1464959655940; Fri, 03 Jun 2016 06:14:15 -0700 (PDT) Received: from localhost.localdomain (host-174-45-44-32.hln-mt.client.bresnan.net. [174.45.44.32]) by smtp.gmail.com with ESMTPSA id u134sm16826179ith.6.2016.06.03.06.14.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 03 Jun 2016 06:14:15 -0700 (PDT) From: Tim Gardner To: kernel-team@lists.ubuntu.com Subject: [PATCH Xenial SRU] lpfc: Fix DMA faults observed upon plugging loopback connector Date: Fri, 3 Jun 2016 07:14:08 -0600 Message-Id: <1464959648-18368-1-git-send-email-tim.gardner@canonical.com> X-Mailer: git-send-email 1.9.1 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: James Smart BugLink: http://bugs.launchpad.net/bugs/1587316 Driver didn't program the REG_VFI mailbox correctly, giving the adapter bad addresses. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Signed-off-by: Martin K. Petersen (cherry picked from commit ae09c765109293b600ba9169aa3d632e1ac1a843) Signed-off-by: Tim Gardner --- drivers/scsi/lpfc/lpfc_mbox.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c index f87f90e..1e34b54 100644 --- a/drivers/scsi/lpfc/lpfc_mbox.c +++ b/drivers/scsi/lpfc/lpfc_mbox.c @@ -2145,10 +2145,12 @@ lpfc_reg_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport, dma_addr_t phys) 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 */