[PATCH] ata: ahci_xgene: Use int type for 'rc' to store error codes

Qianfeng Rong posted 1 patch 1 month, 1 week ago
There is a newer version of this series
drivers/ata/ahci_xgene.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] ata: ahci_xgene: Use int type for 'rc' to store error codes
Posted by Qianfeng Rong 1 month, 1 week ago
Use int instead of u32 for 'rc' variable to store negative error codes
returned by ahci_do_softreset().

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
---
 drivers/ata/ahci_xgene.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
index 5d5a51a77f5d..8d01c105fd44 100644
--- a/drivers/ata/ahci_xgene.c
+++ b/drivers/ata/ahci_xgene.c
@@ -450,7 +450,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link, unsigned int *class,
 {
 	int pmp = sata_srst_pmp(link);
 	struct ata_port *ap = link->ap;
-	u32 rc;
+	int rc;
 	void __iomem *port_mmio = ahci_port_base(ap);
 	u32 port_fbs;
 
@@ -500,7 +500,7 @@ static int xgene_ahci_softreset(struct ata_link *link, unsigned int *class,
 	u32 port_fbs;
 	u32 port_fbs_save;
 	u32 retry = 1;
-	u32 rc;
+	int rc;
 
 	port_fbs_save = readl(port_mmio + PORT_FBS);
 
-- 
2.34.1
Re: [PATCH] ata: ahci_xgene: Use int type for 'rc' to store error codes
Posted by Damien Le Moal 1 month, 1 week ago
On 8/26/25 13:02, Qianfeng Rong wrote:
> Use int instead of u32 for 'rc' variable to store negative error codes
> returned by ahci_do_softreset().
> 
> Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
> ---
>  drivers/ata/ahci_xgene.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
> index 5d5a51a77f5d..8d01c105fd44 100644
> --- a/drivers/ata/ahci_xgene.c
> +++ b/drivers/ata/ahci_xgene.c
> @@ -450,7 +450,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link, unsigned int *class,
>  {
>  	int pmp = sata_srst_pmp(link);
>  	struct ata_port *ap = link->ap;
> -	u32 rc;
> +	int rc;
>  	void __iomem *port_mmio = ahci_port_base(ap);
>  	u32 port_fbs;

If you fix this, please fix it properly: the rc variable is not needed at all in
that function. You can just do:

diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
index 5d5a51a77f5d..a6d964f7184c 100644
--- a/drivers/ata/ahci_xgene.c
+++ b/drivers/ata/ahci_xgene.c
@@ -450,7 +450,6 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link,
unsigned int *class,
 {
        int pmp = sata_srst_pmp(link);
        struct ata_port *ap = link->ap;
-       u32 rc;
        void __iomem *port_mmio = ahci_port_base(ap);
        u32 port_fbs;

@@ -463,9 +462,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link,
unsigned int *class,
        port_fbs |= pmp << PORT_FBS_DEV_OFFSET;
        writel(port_fbs, port_mmio + PORT_FBS);

-       rc = ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready);
-
-       return rc;
+       return ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready);
 }


>  
> @@ -500,7 +500,7 @@ static int xgene_ahci_softreset(struct ata_link *link, unsigned int *class,
>  	u32 port_fbs;
>  	u32 port_fbs_save;
>  	u32 retry = 1;
> -	u32 rc;
> +	int rc;
>  
>  	port_fbs_save = readl(port_mmio + PORT_FBS);
>  


-- 
Damien Le Moal
Western Digital Research
Re: [PATCH] ata: ahci_xgene: Use int type for 'rc' to store error codes
Posted by Qianfeng Rong 1 month, 1 week ago
在 2025/8/26 13:09, Damien Le Moal 写道:
> On 8/26/25 13:02, Qianfeng Rong wrote:
>> Use int instead of u32 for 'rc' variable to store negative error codes
>> returned by ahci_do_softreset().
>>
>> Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
>> ---
>>   drivers/ata/ahci_xgene.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
>> index 5d5a51a77f5d..8d01c105fd44 100644
>> --- a/drivers/ata/ahci_xgene.c
>> +++ b/drivers/ata/ahci_xgene.c
>> @@ -450,7 +450,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link, unsigned int *class,
>>   {
>>   	int pmp = sata_srst_pmp(link);
>>   	struct ata_port *ap = link->ap;
>> -	u32 rc;
>> +	int rc;
>>   	void __iomem *port_mmio = ahci_port_base(ap);
>>   	u32 port_fbs;
> If you fix this, please fix it properly: the rc variable is not needed at all in
> that function. You can just do:
>
> diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
> index 5d5a51a77f5d..a6d964f7184c 100644
> --- a/drivers/ata/ahci_xgene.c
> +++ b/drivers/ata/ahci_xgene.c
> @@ -450,7 +450,6 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link,
> unsigned int *class,
>   {
>          int pmp = sata_srst_pmp(link);
>          struct ata_port *ap = link->ap;
> -       u32 rc;
>          void __iomem *port_mmio = ahci_port_base(ap);
>          u32 port_fbs;
>
> @@ -463,9 +462,7 @@ static int xgene_ahci_pmp_softreset(struct ata_link *link,
> unsigned int *class,
>          port_fbs |= pmp << PORT_FBS_DEV_OFFSET;
>          writel(port_fbs, port_mmio + PORT_FBS);
>
> -       rc = ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready);
> -
> -       return rc;
> +       return ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready);
>   }
The 'rc' variable in the first instance can indeed be removed, and I will
send the second version. Thanks.

Best regards,
Qianfeng
>