diff mbox series

pata_isapnp: Add check for devm_ioport_map

Message ID 20231031040007.2498659-1-nichen@iscas.ac.cn
State New
Headers show
Series pata_isapnp: Add check for devm_ioport_map | expand

Commit Message

Chen Ni Oct. 31, 2023, 4 a.m. UTC
Add check for devm_ioport_map() and return the error if it fails in
order to guarantee the success of devm_ioport_map().

Fixes: 0d5ff566779f ("libata: convert to iomap")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
---
 drivers/ata/pata_isapnp.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Damien Le Moal Oct. 31, 2023, 5:13 a.m. UTC | #1
On 10/31/23 13:00, Chen Ni wrote:
> Add check for devm_ioport_map() and return the error if it fails in
> order to guarantee the success of devm_ioport_map().
> 
> Fixes: 0d5ff566779f ("libata: convert to iomap")

This is the wrong patch. That patch was using pcim_iomap_regions(), not
devm_ioport_map().

> Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
> ---
>  drivers/ata/pata_isapnp.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c
> index 25a63d043c8e..0f77e0424066 100644
> --- a/drivers/ata/pata_isapnp.c
> +++ b/drivers/ata/pata_isapnp.c
> @@ -82,6 +82,9 @@ static int isapnp_init_one(struct pnp_dev *idev, const struct pnp_device_id *dev
>  	if (pnp_port_valid(idev, 1)) {
>  		ctl_addr = devm_ioport_map(&idev->dev,
>  					   pnp_port_start(idev, 1), 1);
> +		if (!ctl_addr)
> +			return -ENOMEM;
> +
>  		ap->ioaddr.altstatus_addr = ctl_addr;
>  		ap->ioaddr.ctl_addr = ctl_addr;
>  		ap->ops = &isapnp_port_ops;
Damien Le Moal Oct. 31, 2023, 5:20 a.m. UTC | #2
On 10/31/23 14:13, Damien Le Moal wrote:
> On 10/31/23 13:00, Chen Ni wrote:
>> Add check for devm_ioport_map() and return the error if it fails in
>> order to guarantee the success of devm_ioport_map().
>>
>> Fixes: 0d5ff566779f ("libata: convert to iomap")
> 
> This is the wrong patch. That patch was using pcim_iomap_regions(), not
> devm_ioport_map().

Please ignore. I did not read that patch properly. This is fine.
The fixes tag is not really needed anyway.

> 
>> Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
>> ---
>>  drivers/ata/pata_isapnp.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c
>> index 25a63d043c8e..0f77e0424066 100644
>> --- a/drivers/ata/pata_isapnp.c
>> +++ b/drivers/ata/pata_isapnp.c
>> @@ -82,6 +82,9 @@ static int isapnp_init_one(struct pnp_dev *idev, const struct pnp_device_id *dev
>>  	if (pnp_port_valid(idev, 1)) {
>>  		ctl_addr = devm_ioport_map(&idev->dev,
>>  					   pnp_port_start(idev, 1), 1);
>> +		if (!ctl_addr)
>> +			return -ENOMEM;
>> +
>>  		ap->ioaddr.altstatus_addr = ctl_addr;
>>  		ap->ioaddr.ctl_addr = ctl_addr;
>>  		ap->ops = &isapnp_port_ops;
>
Sergey Shtylyov Oct. 31, 2023, 3:18 p.m. UTC | #3
Hello!

On 10/31/23 7:00 AM, Chen Ni wrote:

> Add check for devm_ioport_map() and return the error if it fails in
> order to guarantee the success of devm_ioport_map().
> 
> Fixes: 0d5ff566779f ("libata: convert to iomap")
> Signed-off-by: Chen Ni <nichen@iscas.ac.cn>

Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>

[...]

MBR, Sergey
Damien Le Moal Nov. 10, 2023, 1:01 a.m. UTC | #4
On 10/31/23 13:00, Chen Ni wrote:
> Add check for devm_ioport_map() and return the error if it fails in
> order to guarantee the success of devm_ioport_map().
> 
> Fixes: 0d5ff566779f ("libata: convert to iomap")
> Signed-off-by: Chen Ni <nichen@iscas.ac.cn>

Apologies for the delay. This fell through the cracks :)
Applied to for-6.7-fixes. I will send this next week.

> ---
>  drivers/ata/pata_isapnp.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c
> index 25a63d043c8e..0f77e0424066 100644
> --- a/drivers/ata/pata_isapnp.c
> +++ b/drivers/ata/pata_isapnp.c
> @@ -82,6 +82,9 @@ static int isapnp_init_one(struct pnp_dev *idev, const struct pnp_device_id *dev
>  	if (pnp_port_valid(idev, 1)) {
>  		ctl_addr = devm_ioport_map(&idev->dev,
>  					   pnp_port_start(idev, 1), 1);
> +		if (!ctl_addr)
> +			return -ENOMEM;
> +
>  		ap->ioaddr.altstatus_addr = ctl_addr;
>  		ap->ioaddr.ctl_addr = ctl_addr;
>  		ap->ops = &isapnp_port_ops;
diff mbox series

Patch

diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c
index 25a63d043c8e..0f77e0424066 100644
--- a/drivers/ata/pata_isapnp.c
+++ b/drivers/ata/pata_isapnp.c
@@ -82,6 +82,9 @@  static int isapnp_init_one(struct pnp_dev *idev, const struct pnp_device_id *dev
 	if (pnp_port_valid(idev, 1)) {
 		ctl_addr = devm_ioport_map(&idev->dev,
 					   pnp_port_start(idev, 1), 1);
+		if (!ctl_addr)
+			return -ENOMEM;
+
 		ap->ioaddr.altstatus_addr = ctl_addr;
 		ap->ioaddr.ctl_addr = ctl_addr;
 		ap->ops = &isapnp_port_ops;