From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Guenter Roeck <linux@roeck-us.net>, "David S . Miller" <davem@davemloft.net>, Sasha Levin <sashal@kernel.org>, netdev@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH AUTOSEL 4.19 24/28] pcnet32: Use pci_resource_len to validate PCI resource Date: Mon, 12 Apr 2021 12:25:49 -0400 [thread overview] Message-ID: <20210412162553.315227-24-sashal@kernel.org> (raw) In-Reply-To: <20210412162553.315227-1-sashal@kernel.org> From: Guenter Roeck <linux@roeck-us.net> [ Upstream commit 66c3f05ddc538ee796321210c906b6ae6fc0792a ] pci_resource_start() is not a good indicator to determine if a PCI resource exists or not, since the resource may start at address 0. This is seen when trying to instantiate the driver in qemu for riscv32 or riscv64. pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000001f] ... pcnet32: card has no PCI IO resources, aborting Use pci_resouce_len() instead. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/net/ethernet/amd/pcnet32.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c index f5ad12c10934..da84660ceae1 100644 --- a/drivers/net/ethernet/amd/pcnet32.c +++ b/drivers/net/ethernet/amd/pcnet32.c @@ -1548,8 +1548,7 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent) } pci_set_master(pdev); - ioaddr = pci_resource_start(pdev, 0); - if (!ioaddr) { + if (!pci_resource_len(pdev, 0)) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("card has no PCI IO resources, aborting\n"); err = -ENODEV; @@ -1562,6 +1561,8 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent) pr_err("architecture does not support 32bit PCI busmaster DMA\n"); goto err_disable_dev; } + + ioaddr = pci_resource_start(pdev, 0); if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("io address range already allocated\n"); -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Guenter Roeck <linux@roeck-us.net>, "David S . Miller" <davem@davemloft.net>, Sasha Levin <sashal@kernel.org>, netdev@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH AUTOSEL 4.19 24/28] pcnet32: Use pci_resource_len to validate PCI resource Date: Mon, 12 Apr 2021 12:25:49 -0400 [thread overview] Message-ID: <20210412162553.315227-24-sashal@kernel.org> (raw) In-Reply-To: <20210412162553.315227-1-sashal@kernel.org> From: Guenter Roeck <linux@roeck-us.net> [ Upstream commit 66c3f05ddc538ee796321210c906b6ae6fc0792a ] pci_resource_start() is not a good indicator to determine if a PCI resource exists or not, since the resource may start at address 0. This is seen when trying to instantiate the driver in qemu for riscv32 or riscv64. pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000001f] ... pcnet32: card has no PCI IO resources, aborting Use pci_resouce_len() instead. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/net/ethernet/amd/pcnet32.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c index f5ad12c10934..da84660ceae1 100644 --- a/drivers/net/ethernet/amd/pcnet32.c +++ b/drivers/net/ethernet/amd/pcnet32.c @@ -1548,8 +1548,7 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent) } pci_set_master(pdev); - ioaddr = pci_resource_start(pdev, 0); - if (!ioaddr) { + if (!pci_resource_len(pdev, 0)) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("card has no PCI IO resources, aborting\n"); err = -ENODEV; @@ -1562,6 +1561,8 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent) pr_err("architecture does not support 32bit PCI busmaster DMA\n"); goto err_disable_dev; } + + ioaddr = pci_resource_start(pdev, 0); if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("io address range already allocated\n"); -- 2.30.2 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2021-04-12 16:40 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-12 16:25 [PATCH AUTOSEL 4.19 01/28] net: ieee802154: nl-mac: fix check on panid Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 02/28] ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 03/28] ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 04/28] lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 05/28] arc: kernel: Return -EFAULT if copy_to_user() fails Sasha Levin 2021-04-12 16:25 ` Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 06/28] neighbour: Disregard DEAD dst in neigh_update Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 07/28] ARM: keystone: fix integer overflow warning Sasha Levin 2021-04-12 16:25 ` Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 08/28] drivers: net: fix memory leak in atusb_probe Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 09/28] drivers: net: fix memory leak in peak_usb_create_dev Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 10/28] drm/msm: Fix a5xx/a6xx timestamps Sasha Levin 2021-04-12 16:25 ` Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 11/28] ASoC: fsl_esai: Fix TDM slot setup for I2S mode Sasha Levin 2021-04-12 16:25 ` Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 12/28] scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 13/28] net: ieee802154: forbid monitor for set llsec params Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 14/28] net: ieee802154: stop dump llsec keys for monitors Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 15/28] net: ieee802154: stop dump llsec devs " Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 16/28] net: ieee802154: forbid monitor for add llsec dev Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 17/28] net: ieee802154: stop dump llsec devkeys for monitors Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 18/28] net: ieee802154: forbid monitor for add llsec devkey Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 19/28] net: ieee802154: stop dump llsec seclevels for monitors Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 20/28] net: ieee802154: forbid monitor for add llsec seclevel Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 21/28] net: ieee802154: forbid monitor for del " Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 22/28] net: ieee802154: stop dump llsec params for monitors Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 23/28] net: mac802154: Fix general protection fault Sasha Levin 2021-04-12 16:25 ` Sasha Levin [this message] 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 24/28] pcnet32: Use pci_resource_len to validate PCI resource Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 25/28] net/rds: Avoid potential use after free in rds_send_remove_from_sock Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 26/28] net: tipc: Fix spelling errors in net/tipc module Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 27/28] mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN Sasha Levin 2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 28/28] cfg80211: remove WARN_ON() in cfg80211_sme_connect Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210412162553.315227-24-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=davem@davemloft.net \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=linux@roeck-us.net \ --cc=netdev@vger.kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.