From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:49134 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726047AbeJKQyn (ORCPT ); Thu, 11 Oct 2018 12:54:43 -0400 Date: Thu, 11 Oct 2018 11:28:12 +0200 From: Greg KH To: Amit Pundir Cc: Stable , Yu Wang , Kalle Valo Subject: Re: [PATCH for-4.14.y 3/4] ath10k: fix kernel panic issue during pci probe Message-ID: <20181011092812.GA25591@kroah.com> References: <1539163789-32338-1-git-send-email-amit.pundir@linaro.org> <1539163789-32338-3-git-send-email-amit.pundir@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1539163789-32338-3-git-send-email-amit.pundir@linaro.org> Sender: stable-owner@vger.kernel.org List-ID: On Wed, Oct 10, 2018 at 02:59:48PM +0530, Amit Pundir wrote: > From: Yu Wang > > commit 50e79e25250bf928369996277e85b00536b380c7 upstream. > > If device gone during chip reset, ar->normal_mode_fw.board is not > initialized, but ath10k_debug_print_hwfw_info() will try to access its > member, which will cause 'kernel NULL pointer' issue. This was found > using a faulty device (pci link went down sometimes) in a random > insmod/rmmod/other-op test. > To fix it, check ar->normal_mode_fw.board before accessing the member. > > pci 0000:02:00.0: BAR 0: assigned [mem 0xf7400000-0xf75fffff 64bit] > ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002) > ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 > ath10k_pci 0000:02:00.0: failed to read device register, device is gone > ath10k_pci 0000:02:00.0: failed to wait for target init: -5 > ath10k_pci 0000:02:00.0: failed to warm reset: -5 > ath10k_pci 0000:02:00.0: firmware crashed during chip reset > ath10k_pci 0000:02:00.0: firmware crashed! (uuid 5d018951-b8e1-404a-8fde-923078b4423a) > ath10k_pci 0000:02:00.0: (null) target 0x00000000 chip_id 0x00340aff sub 0000:0000 > ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 1 testmode 1 > ath10k_pci 0000:02:00.0: firmware ver api 0 features crc32 00000000 > ... > BUG: unable to handle kernel NULL pointer dereference at 00000004 > ... > Call Trace: > [] ath10k_print_driver_info+0x12/0x20 [ath10k_core] > [] ath10k_pci_fw_crashed_dump+0x6d/0x4d0 [ath10k_pci] > [] ? ath10k_pci_sleep.part.19+0x57/0xc0 [ath10k_pci] > [] ath10k_pci_hif_power_up+0x14e/0x1b0 [ath10k_pci] > [] ? do_page_fault+0xb/0x10 > [] ath10k_core_register_work+0x24/0x840 [ath10k_core] > [] ? netlbl_unlhsh_remove+0x178/0x410 > [] ? __do_page_fault+0x480/0x480 > [] process_one_work+0x114/0x3e0 > [] worker_thread+0x37/0x4a0 > [] kthread+0xa4/0xc0 > [] ? create_worker+0x180/0x180 > [] ? kthread_park+0x50/0x50 > [] ret_from_fork+0x1b/0x28 > Code: 78 80 b8 50 09 00 00 00 75 5d 8d 75 94 c7 44 24 08 aa d7 52 fb c7 44 24 04 64 00 00 00 > 89 34 24 e8 82 52 e2 c5 8b 83 dc 08 00 00 <8b> 50 04 8b 08 31 c0 e8 20 57 e3 c5 89 44 24 10 8b 83 58 09 00 > EIP: []- > ath10k_debug_print_board_info+0x34/0xb0 [ath10k_core] > SS:ESP 0068:f4921d90 > CR2: 0000000000000004 > > Signed-off-by: Yu Wang > Signed-off-by: Kalle Valo > [AmitP: Minor rebasing for 4.14.y and 4.9.y] > Signed-off-by: Amit Pundir > --- > To be applied on 4.9.y as well. > Build tested on 4.14.74 and 4.9.131 for ARCH=arm/arm64 allmodconfig. Now applied, thanks. greg k-h