Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754206AbdCJCeD (ORCPT ); Thu, 9 Mar 2017 21:34:03 -0500 Received: from mail-oi0-f67.google.com ([209.85.218.67]:33092 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753115AbdCJCeC (ORCPT ); Thu, 9 Mar 2017 21:34:02 -0500 From: Larry Finger To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Larry Finger , linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , "regressions @ leemhuis . info" Subject: [PATCH] powerpc: Fix crash introduced with commit 5657933dbb6e Date: Thu, 9 Mar 2017 20:33:51 -0600 Message-Id: <20170310023351.973-1-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.10.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1430 Lines: 35 Code inserted during the code merged between kernels 4.10 and 4.11-rc1 caused an early panic quickly followed by a complete shutdown for PowerPC. The traceback was not displayed long enough to read or photograph, thus it is not reproduced here. The problem was bisected to commit 5657933dbb6e ("treewide: Move dma_ops from struct dev_archdata into struct device"). The problem was a missing copy of critical information from struct dev_archdata into struct device, leading to the dereference of a null pointer. This fix was suggested by Benjamin Herrenschmidt. Fixes: commit 5657933dbb6e ("treewide: Move dma_ops from struct dev_archdata into struct device") Signed-off-by: Larry Finger Cc: linuxppc-dev@lists.ozlabs.org Cc: Benjamin Herrenschmidt Cc: regressions@leemhuis.info drivers/macintosh/macio_asic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/macintosh/macio_asic.c b/drivers/macintosh/macio_asic.c index 3f041b1..f757cef2 100644 --- a/drivers/macintosh/macio_asic.c +++ b/drivers/macintosh/macio_asic.c @@ -392,6 +392,7 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip, * To get all the fields, copy all archdata */ dev->ofdev.dev.archdata = chip->lbus.pdev->dev.archdata; + dev->ofdev.dev.dma_ops = chip->lbus.pdev->dev.dma_ops; #endif /* CONFIG_PCI */ #ifdef DEBUG -- 2.10.2