From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DD3A7C44515 for ; Mon, 20 Jul 2026 15:27:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cHrBWSiIA4l4OMIzFj0zJySDl5JV4okPsJCntcq+tUg=; b=c5cgtpiKkVpD6s 9zj1Sbulr0ecJZ+URja2lzzS+3rV3DXNxoujfDTOJL70FfNxcvOE+4BxtKImi+wCsxxz7D2bNHkAd kPQqzUo4spHk3szOhXBt3+PPa7hPKuoiMwnLj26dMgL3E9zF25mbaZP1BFjmK+disbnZ0r3byYkIH RSHJ7b57Wpvhs2JxrkIs+MGYGXDJJhEYtBTbAObrDqzj8P22bGJtCiXWc/TX5vjf0ONuw5Jprl1cF k/4Hq3dRwFex+sy0IeN2iCrH4dHfMdqeB8DdGAy+IhW/o0bduMRgRjsoJh5IzwlDr1G9ZS6DmbP8V bgLGBVqzWO3LOHlhNp7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlpuN-00000007BrY-2OI5; Mon, 20 Jul 2026 15:27:55 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wlpuM-00000007Bqo-0tsd for linux-amlogic@lists.infradead.org; Mon, 20 Jul 2026 15:27:54 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 4B80060A5C; Mon, 20 Jul 2026 15:27:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A88AC1F00A3A; Mon, 20 Jul 2026 15:27:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784561272; bh=JjQaLdF/6J1Cr39wdv1yjoSfvOqAtBuzbF59nsWBkD8=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=WNQCV1mwPps170gjMiiDw2R1riBhwYGMfuAKL7TBoXn+1OFfehyMQPYydWpVmiRKu 2dUy5LDZ3v/7zEOhQ+IHaqFyxBnCs2UbnkkKFSuanB00SvoCw4E8Yrg/srhlQ55Djr 7Pr2BA/naCutWgJdL6wXDXnr0nl1Bp38sGt8aS5RFZJlwqWOTnsbG+adGms4usgeq8 LzNjQ1Fm99HgFDXb0GoH7II33i9TkKeR+4S+5r7Lo4n7bP1+qWUoX5vjkBsMsKcH7L LwrOsDH+8E7427Zok2baacMSy2S2aJ0xfzJ+P+XoJNQLbXXFCUuFbtvsW+MNwNQHke L8pFdYizLPwDQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 14/16] PCI: dwc: spear13xx: Use cached PCIe capability offset To: "Hans Zhang" <18255117159@163.com> Cc: linux-pci@vger.kernel.org, neil.armstrong@linaro.org, linux-amlogic@lists.infradead.org, imx@lists.linux.dev, Frank.Li@kernel.org In-Reply-To: <20260720150619.24733-15-18255117159@163.com> References: <20260720150619.24733-1-18255117159@163.com> <20260720150619.24733-15-18255117159@163.com> Date: Mon, 20 Jul 2026 15:27:51 +0000 Message-Id: <20260720152751.A88AC1F00A3A@smtp.kernel.org> X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot IFtIaWdoXSBNYW5kYXRvcnkgQVBJIGNvbnRyYWN0IHZpb2xhdGlvbjogaWdub3JlZCByZXR1cm4g dmFsdWUgb2YgYHBoeV9pbml0KClgLgotIFtIaWdoXSBVbmNvbmRpdGlvbmFsIGBJUlFfSEFORExF RGAgaW4gYSBzaGFyZWQgSVJRIGhhbmRsZXIuCi0gW0hpZ2hdIFNoYXJlZCBJUlEgaXMgcmVxdWVz dGVkIGJlZm9yZSB0aGUgaGFyZHdhcmUgYmFzZSBhZGRyZXNzIGlzIGluaXRpYWxpemVkLCBsZWFk aW5nIHRvIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KLS0KCi0tLSBQYXRj aCBbMTRdOiBbUEFUQ0ggdjMgMTQvMTZdIFBDSTogZHdjOiBzcGVhcjEzeHg6IFVzZSBjYWNoZWQg UENJZSBjYXBhYmlsaXR5IG9mZnNldCAtLS0KY29tbWl0IGM0MWQ0OWJmOWU5NGFjMjM4MDQ5NzY4 MTIyMTQ4YjdhYmI1NjQ2NjUKQXV0aG9yOiBIYW5zIFpoYW5nIDwxODI1NTExNzE1OUAxNjMuY29t PgoKUENJOiBkd2M6IHNwZWFyMTN4eDogVXNlIGNhY2hlZCBQQ0llIGNhcGFiaWxpdHkgb2Zmc2V0 CgpJbnNpZGUgLmluaXQgd2UgbXVzdCBjYWxsIGR3X3BjaWVfZ2V0X3BjaWVfY2FwKCkgdG8gb2J0 YWluIHRoZSBvZmZzZXQsCmJlY2F1c2UgdGhlIGNvcmUgaGFzIG5vdCB5ZXQgY2FjaGVkIGl0LiBU aGUgaGFyZHdhcmUgaXMgYWxyZWFkeSBlbmFibGVkCmJ5IHRoZSBkcml2ZXIncyBvd24gaW5pdGlh bGl6YXRpb24gYmVmb3JlIHRoaXMgcG9pbnQuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9j b250cm9sbGVyL2R3Yy9wY2llLXNwZWFyMTN4eC5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9k d2MvcGNpZS1zcGVhcjEzeHguYwo+IGluZGV4IDAxNzk0YTlkM2FkMjkuLjZlNGMxMWI0OTdkNDUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1zcGVhcjEzeHgu Ywo+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtc3BlYXIxM3h4LmMKPiBA QCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRpYyBpbnQgc3BlYXIxM3h4X3BjaWVfaG9zdF9pbml0KHN0 cnVjdCBkd19wY2llX3JwICpwcCkKPiAgewo+ICAJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3 X3BjaWVfZnJvbV9wcChwcCk7Cj4gIAlzdHJ1Y3Qgc3BlYXIxM3h4X3BjaWUgKnNwZWFyMTN4eF9w Y2llID0gdG9fc3BlYXIxM3h4X3BjaWUocGNpKTsKPiAtCXUzMiBleHBfY2FwX29mZiA9IGR3X3Bj aWVfZmluZF9jYXBhYmlsaXR5KHBjaSwgUENJX0NBUF9JRF9FWFApOwo+ICsJdTggZXhwX2NhcF9v ZmYgPSBkd19wY2llX2dldF9wY2llX2NhcChwY2kpOwo+ICAJdTMyIHZhbDsKPiAgCj4gIAlzcGVh cjEzeHhfcGNpZS0+YXBwX2Jhc2UgPSBwY2ktPmRiaV9iYXNlICsgMHgyMDAwOwoKW1NldmVyaXR5 OiBIaWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IEkg bm90aWNlZCBhIHBvdGVudGlhbApOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW52b2x2aW5nIGFw cF9iYXNlIGhlcmUuCgpJbiBzcGVhcjEzeHhfYWRkX3BjaWVfcG9ydCgpLCBkZXZtX3JlcXVlc3Rf aXJxKCkgaXMgY2FsbGVkIHdpdGggSVJRRl9TSEFSRUQKYmVmb3JlIGR3X3BjaWVfaG9zdF9pbml0 KCkgc2V0cyBzcGVhcjEzeHhfcGNpZS0+YXBwX2Jhc2U6CgpzcGVhcjEzeHhfYWRkX3BjaWVfcG9y dCgpIHsKICAgIC4uLgogICAgcmV0ID0gZGV2bV9yZXF1ZXN0X2lycShkZXYsIHBwLT5pcnEsIHNw ZWFyMTN4eF9wY2llX2lycV9oYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFG X1NIQVJFRCB8IElSUUZfTk9fVEhSRUFELAogICAgICAgICAgICAgICAgICAgICAgICAgICAic3Bl YXIxMzQwLXBjaWUiLCBzcGVhcjEzeHhfcGNpZSk7CiAgICAuLi4KICAgIHJldCA9IGR3X3BjaWVf aG9zdF9pbml0KHBwKTsKICAgIC4uLgp9CgpJZiBhbm90aGVyIGRldmljZSBvbiB0aGUgc2hhcmVk IElSUSBsaW5lIHRyaWdnZXJzIGFuIGludGVycnVwdCBiZWZvcmUKc3BlYXIxM3h4X3BjaWVfaG9z dF9pbml0KCkgaXMgY2FsbGVkLCBzcGVhcjEzeHhfcGNpZV9pcnFfaGFuZGxlcigpIHdpbGwgcnVu CmFuZCBkZXJlZmVyZW5jZSB0aGUgc3RpbGwtTlVMTCBhcHBfYmFzZToKCnNwZWFyMTN4eF9wY2ll X2lycV9oYW5kbGVyKCkgewogICAgLi4uCiAgICBzdHJ1Y3QgcGNpZV9hcHBfcmVnIF9faW9tZW0g KmFwcF9yZWcgPSBzcGVhcjEzeHhfcGNpZS0+YXBwX2Jhc2U7CiAgICAuLi4KICAgIHN0YXR1cyA9 IHJlYWRsKCZhcHBfcmVnLT5pbnRfc3RzKTsKICAgIC4uLgp9CgpDb3VsZCB0aGUgSVJRIHJlcXVl c3QgYmUgbW92ZWQgdW50aWwgYWZ0ZXIgdGhlIGJhc2UgYWRkcmVzcyBpcyBpbml0aWFsaXplZD8K ClsgLi4uIF0KCkkgYWxzbyBub3RpY2VkIGEgZmV3IG90aGVyIHByZS1leGlzdGluZyBpc3N1ZXMg aW4gdGhpcyBmaWxlLgoKW1NldmVyaXR5OiBIaWdoXQpUaGlzIGlzIGEgcHJlLWV4aXN0aW5nIGlz c3VlLCBidXQgdGhlIGludGVnZXIgcmV0dXJuIHZhbHVlIG9mCnBoeV9pbml0KCkgaXMgY29tcGxl dGVseSBpZ25vcmVkIGluIHNwZWFyMTN4eF9wY2llX3Byb2JlKCk6CgpzcGVhcjEzeHhfcGNpZV9w cm9iZSgpIHsKICAgIC4uLgogICAgcGh5X2luaXQoc3BlYXIxM3h4X3BjaWUtPnBoeSk7CgogICAg c3BlYXIxM3h4X3BjaWUtPmNsayA9IGRldm1fY2xrX2dldChkZXYsIE5VTEwpOwogICAgLi4uCn0K CklmIHBoeV9pbml0KCkgZmFpbHMsIHRoZSBkcml2ZXIgYmxpbmRseSBwcm9jZWVkcyB0byBjb25m aWd1cmUgY2xvY2tzIGFuZAppbml0aWFsaXplIHRoZSBQQ0llIGhvc3QgY29udHJvbGxlci4gQWNj ZXNzaW5nIGFuIHVuaW5pdGlhbGl6ZWQgb3IKdW5wb3dlcmVkIFBIWSBjYW4gbGVhZCB0byBoYXJk d2FyZSBsb2NrdXBzIG9yIHN5bmNocm9ub3VzIGV4dGVybmFsIGFib3J0cy4KU2hvdWxkIHRoZSBy ZXR1cm4gdmFsdWUgb2YgcGh5X2luaXQoKSBiZSBjaGVja2VkIGhlcmU/CgpbU2V2ZXJpdHk6IEhp Z2hdClRoaXMgaXMgYSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1dCB0aGUgc2hhcmVkIElSUSBoYW5k bGVyIHVuY29uZGl0aW9uYWxseQpyZXR1cm5zIElSUV9IQU5ETEVEOgoKc3BlYXIxM3h4X3BjaWVf aXJxX2hhbmRsZXIoKSB7CiAgICAuLi4KICAgIHN0YXR1cyA9IHJlYWRsKCZhcHBfcmVnLT5pbnRf c3RzKTsKCiAgICBpZiAoc3RhdHVzICYgTVNJX0NUUkxfSU5UKSB7CiAgICAgICAgQlVHX09OKCFJ U19FTkFCTEVEKENPTkZJR19QQ0lfTVNJKSk7CiAgICAgICAgZHdfaGFuZGxlX21zaV9pcnEocHAp OwogICAgfQoKICAgIHdyaXRlbChzdGF0dXMsICZhcHBfcmVnLT5pbnRfY2xyKTsKCiAgICByZXR1 cm4gSVJRX0hBTkRMRUQ7Cn0KClJldHVybmluZyBJUlFfSEFORExFRCB1bmNvbmRpdGlvbmFsbHkg aW4gYSBzaGFyZWQgSVJRIGhhbmRsZXIgYnJlYWtzIHRoZQprZXJuZWwncyBzcHVyaW91cyBpbnRl cnJ1cHQgZGV0ZWN0aW9uIGFuZCBjYW4gc3dhbGxvdyBpbnRlcnJ1cHRzLiBJZiB0aGUKc2hhcmVk IElSUSBsaW5lIHNjcmVhbXMsIHRoZSBrZXJuZWwgd2lsbCBub3QgZGlzYWJsZSB0aGUgbGluZSBi ZWNhdXNlIGl0CnRoaW5rcyB0aGlzIGRyaXZlciBpcyBzdWNjZXNzZnVsbHkgaGFuZGxpbmcgdGhl IGludGVycnVwdHMsIHdoaWNoIGNhbiBsZWFkCnRvIENQVSBzdGFsbHMuIFNob3VsZCB0aGlzIHJl dHVybiBJUlFfTk9ORSB3aGVuIHN0YXR1cyBpcyAwPwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3 IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDcyMDE1MDYxOS4yNDczMy0xLTE4 MjU1MTE3MTU5QDE2My5jb20/cGFydD0xNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dpYyBtYWlsaW5nIGxpc3QKbGludXgtYW1sb2dp Y0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYW1sb2dpYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BF6430C17D; Mon, 20 Jul 2026 15:27:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784561273; cv=none; b=bXreD49zmaL+Ra1nIaE1oq4ihx12JVBbBBkVVPt5ccyWt1iYsY8dmxDqeP6ZxKKY8/8hLYfG8a66YVc1RjRAb80DYFhbUCi1q36OHGq7ZfJ96U/wmzAmynDQddPiiOKdkjUBdeYUagbTFYltmXp/PwChBKr5Mu2VSlb1F5MgXnU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784561273; c=relaxed/simple; bh=DKdiVPSpjb1VbfNrHPCDg6po1oYPd6Y798uYG5fR92U=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=tzgg01RyfjGSnW2oKEIMiIbpd0S4lnxsbh21llLWK9ybIz/pUL5g6e1WjG3MkPEYn7f7eWXnxUZ3rpeMgiyLIr0D6ia5ebDX3Dx8hB41TfoVKk6e7W+DUY0yq1NOMU+24Ptu32+0czE8atqgm/sKfuIljeyI5Ug5W4S2w223vVM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WNQCV1mw; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WNQCV1mw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A88AC1F00A3A; Mon, 20 Jul 2026 15:27:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784561272; bh=JjQaLdF/6J1Cr39wdv1yjoSfvOqAtBuzbF59nsWBkD8=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=WNQCV1mwPps170gjMiiDw2R1riBhwYGMfuAKL7TBoXn+1OFfehyMQPYydWpVmiRKu 2dUy5LDZ3v/7zEOhQ+IHaqFyxBnCs2UbnkkKFSuanB00SvoCw4E8Yrg/srhlQ55Djr 7Pr2BA/naCutWgJdL6wXDXnr0nl1Bp38sGt8aS5RFZJlwqWOTnsbG+adGms4usgeq8 LzNjQ1Fm99HgFDXb0GoH7II33i9TkKeR+4S+5r7Lo4n7bP1+qWUoX5vjkBsMsKcH7L LwrOsDH+8E7427Zok2baacMSy2S2aJ0xfzJ+P+XoJNQLbXXFCUuFbtvsW+MNwNQHke L8pFdYizLPwDQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 14/16] PCI: dwc: spear13xx: Use cached PCIe capability offset Reply-To: sashiko-reviews@lists.linux.dev To: "Hans Zhang" <18255117159@163.com> Cc: linux-pci@vger.kernel.org, neil.armstrong@linaro.org, linux-amlogic@lists.infradead.org, imx@lists.linux.dev, Frank.Li@kernel.org In-Reply-To: <20260720150619.24733-15-18255117159@163.com> References: <20260720150619.24733-1-18255117159@163.com> <20260720150619.24733-15-18255117159@163.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Mon, 20 Jul 2026 15:27:51 +0000 Message-Id: <20260720152751.A88AC1F00A3A@smtp.kernel.org> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 3 potential issue(= s) to consider: Pre-existing issues: - [High] Mandatory API contract violation: ignored return value of `phy_ini= t()`. - [High] Unconditional `IRQ_HANDLED` in a shared IRQ handler. - [High] Shared IRQ is requested before the hardware base address is initia= lized, leading to a potential NULL pointer dereference. -- --- Patch [14]: [PATCH v3 14/16] PCI: dwc: spear13xx: Use cached PCIe capab= ility offset --- commit c41d49bf9e94ac238049768122148b7abb564665 Author: Hans Zhang <18255117159@163.com> PCI: dwc: spear13xx: Use cached PCIe capability offset Inside .init we must call dw_pcie_get_pcie_cap() to obtain the offset, because the core has not yet cached it. The hardware is already enabled by the driver's own initialization before this point. > diff --git a/drivers/pci/controller/dwc/pcie-spear13xx.c b/drivers/pci/co= ntroller/dwc/pcie-spear13xx.c > index 01794a9d3ad29..6e4c11b497d45 100644 > --- a/drivers/pci/controller/dwc/pcie-spear13xx.c > +++ b/drivers/pci/controller/dwc/pcie-spear13xx.c > @@ -122,7 +122,7 @@ static int spear13xx_pcie_host_init(struct dw_pcie_rp= *pp) > { > struct dw_pcie *pci =3D to_dw_pcie_from_pp(pp); > struct spear13xx_pcie *spear13xx_pcie =3D to_spear13xx_pcie(pci); > - u32 exp_cap_off =3D dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); > + u8 exp_cap_off =3D dw_pcie_get_pcie_cap(pci); > u32 val; > =20 > spear13xx_pcie->app_base =3D pci->dbi_base + 0x2000; [Severity: High] This isn't a bug introduced by this patch, but I noticed a potential NULL pointer dereference involving app_base here. In spear13xx_add_pcie_port(), devm_request_irq() is called with IRQF_SHARED before dw_pcie_host_init() sets spear13xx_pcie->app_base: spear13xx_add_pcie_port() { ... ret =3D devm_request_irq(dev, pp->irq, spear13xx_pcie_irq_handler, IRQF_SHARED | IRQF_NO_THREAD, "spear1340-pcie", spear13xx_pcie); ... ret =3D dw_pcie_host_init(pp); ... } If another device on the shared IRQ line triggers an interrupt before spear13xx_pcie_host_init() is called, spear13xx_pcie_irq_handler() will run and dereference the still-NULL app_base: spear13xx_pcie_irq_handler() { ... struct pcie_app_reg __iomem *app_reg =3D spear13xx_pcie->app_base; ... status =3D readl(&app_reg->int_sts); ... } Could the IRQ request be moved until after the base address is initialized? [ ... ] I also noticed a few other pre-existing issues in this file. [Severity: High] This is a pre-existing issue, but the integer return value of phy_init() is completely ignored in spear13xx_pcie_probe(): spear13xx_pcie_probe() { ... phy_init(spear13xx_pcie->phy); spear13xx_pcie->clk =3D devm_clk_get(dev, NULL); ... } If phy_init() fails, the driver blindly proceeds to configure clocks and initialize the PCIe host controller. Accessing an uninitialized or unpowered PHY can lead to hardware lockups or synchronous external aborts. Should the return value of phy_init() be checked here? [Severity: High] This is a pre-existing issue, but the shared IRQ handler unconditionally returns IRQ_HANDLED: spear13xx_pcie_irq_handler() { ... status =3D readl(&app_reg->int_sts); if (status & MSI_CTRL_INT) { BUG_ON(!IS_ENABLED(CONFIG_PCI_MSI)); dw_handle_msi_irq(pp); } writel(status, &app_reg->int_clr); return IRQ_HANDLED; } Returning IRQ_HANDLED unconditionally in a shared IRQ handler breaks the kernel's spurious interrupt detection and can swallow interrupts. If the shared IRQ line screams, the kernel will not disable the line because it thinks this driver is successfully handling the interrupts, which can lead to CPU stalls. Should this return IRQ_NONE when status is 0? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260720150619.2473= 3-1-18255117159@163.com?part=3D14