[PATCH] PCI: Remove useless WARN_ON() from devres

Philipp Stanner posted 1 patch 1 month, 3 weeks ago
drivers/pci/devres.c | 3 ---
1 file changed, 3 deletions(-)
[PATCH] PCI: Remove useless WARN_ON() from devres
Posted by Philipp Stanner 1 month, 3 weeks ago
PCI's devres implementation contains a WARN_ON() which served to inform
users relying on the legacy devres iomap table that this table does not
support multiple mappings per BAR.

The WARN_ON() can be regarded as useless by now, since mapping a BAR
multiple times is legal behavior and old users of pcim_iomap_table(),
the accessor function for that table, did not break in the past PCI
devres cleanup. New PCI users will hopefully notice that
pcim_iomap_table() is deprecated and are unlikely to use it for mapping
the same BAR multiple times.

Moreover, WARN_ON()s create noisy, difficult to read error messages
which can be more confusing than helpful, since they don't inform the
user about what precisely the problem is.

Remove the WARN_ON().

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
 drivers/pci/devres.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/pci/devres.c b/drivers/pci/devres.c
index 9f4190501395..f075e7881c3a 100644
--- a/drivers/pci/devres.c
+++ b/drivers/pci/devres.c
@@ -469,9 +469,6 @@ static int pcim_add_mapping_to_legacy_table(struct pci_dev *pdev,
 	if (!legacy_iomap_table)
 		return -ENOMEM;
 
-	/* The legacy mechanism doesn't allow for duplicate mappings. */
-	WARN_ON(legacy_iomap_table[bar]);
-
 	legacy_iomap_table[bar] = mapping;
 
 	return 0;
-- 
2.49.0
Re: [PATCH] PCI: Remove useless WARN_ON() from devres
Posted by Bjorn Helgaas 3 weeks, 2 days ago
On Thu, Dec 18, 2025 at 10:28:20AM +0100, Philipp Stanner wrote:
> PCI's devres implementation contains a WARN_ON() which served to inform
> users relying on the legacy devres iomap table that this table does not
> support multiple mappings per BAR.
> 
> The WARN_ON() can be regarded as useless by now, since mapping a BAR
> multiple times is legal behavior and old users of pcim_iomap_table(),
> the accessor function for that table, did not break in the past PCI
> devres cleanup. New PCI users will hopefully notice that
> pcim_iomap_table() is deprecated and are unlikely to use it for mapping
> the same BAR multiple times.
> 
> Moreover, WARN_ON()s create noisy, difficult to read error messages
> which can be more confusing than helpful, since they don't inform the
> user about what precisely the problem is.
> 
> Remove the WARN_ON().
> 
> Reported-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Philipp Stanner <phasta@kernel.org>

Applied to pci/misc for v6.20, thanks!

> ---
>  drivers/pci/devres.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/pci/devres.c b/drivers/pci/devres.c
> index 9f4190501395..f075e7881c3a 100644
> --- a/drivers/pci/devres.c
> +++ b/drivers/pci/devres.c
> @@ -469,9 +469,6 @@ static int pcim_add_mapping_to_legacy_table(struct pci_dev *pdev,
>  	if (!legacy_iomap_table)
>  		return -ENOMEM;
>  
> -	/* The legacy mechanism doesn't allow for duplicate mappings. */
> -	WARN_ON(legacy_iomap_table[bar]);
> -
>  	legacy_iomap_table[bar] = mapping;
>  
>  	return 0;
> -- 
> 2.49.0
>
Re: [PATCH] PCI: Remove useless WARN_ON() from devres
Posted by Philipp Stanner 3 weeks, 3 days ago
On Thu, 2025-12-18 at 10:28 +0100, Philipp Stanner wrote:
> PCI's devres implementation contains a WARN_ON() which served to inform
> users relying on the legacy devres iomap table that this table does not
> support multiple mappings per BAR.
> 
> The WARN_ON() can be regarded as useless by now, since mapping a BAR
> multiple times is legal behavior and old users of pcim_iomap_table(),
> the accessor function for that table, did not break in the past PCI
> devres cleanup. New PCI users will hopefully notice that
> pcim_iomap_table() is deprecated and are unlikely to use it for mapping
> the same BAR multiple times.
> 
> Moreover, WARN_ON()s create noisy, difficult to read error messages
> which can be more confusing than helpful, since they don't inform the
> user about what precisely the problem is.
> 
> Remove the WARN_ON().
> 
> Reported-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Philipp Stanner <phasta@kernel.org>

*ping*

> ---
>  drivers/pci/devres.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/pci/devres.c b/drivers/pci/devres.c
> index 9f4190501395..f075e7881c3a 100644
> --- a/drivers/pci/devres.c
> +++ b/drivers/pci/devres.c
> @@ -469,9 +469,6 @@ static int pcim_add_mapping_to_legacy_table(struct pci_dev *pdev,
>  	if (!legacy_iomap_table)
>  		return -ENOMEM;
>  
> -	/* The legacy mechanism doesn't allow for duplicate mappings. */
> -	WARN_ON(legacy_iomap_table[bar]);
> -
>  	legacy_iomap_table[bar] = mapping;
>  
>  	return 0;