* [PATCH] ata: propagate return value of scc_wait_after_reset
@ 2014-08-16 10:17 Arjun Sreedharan
2014-08-16 11:37 ` Tejun Heo
0 siblings, 1 reply; 7+ messages in thread
From: Arjun Sreedharan @ 2014-08-16 10:17 UTC (permalink / raw)
To: tj; +Cc: linux-ide, linux-kernel
scc_bus_softreset not necessarily should return zero.
Propagate the error code.
Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
---
drivers/ata/pata_scc.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
index 4e006d7..5618c4518 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
* Note: Original code is ata_bus_softreset().
*/
-static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
+static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
unsigned long deadline)
{
struct ata_ioports *ioaddr = &ap->ioaddr;
@@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
udelay(20);
out_be32(ioaddr->ctl_addr, ap->ctl);
- scc_wait_after_reset(&ap->link, devmask, deadline);
-
- return 0;
+ return scc_wait_after_reset(&ap->link, devmask, deadline);
}
/**
@@ -618,7 +616,8 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
{
struct ata_port *ap = link->ap;
unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS;
- unsigned int devmask = 0, err_mask;
+ unsigned int devmask = 0;
+ int err_mask;
u8 err;
DPRINTK("ENTER\n");
--
1.7.11.7
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] ata: propagate return value of scc_wait_after_reset
2014-08-16 10:17 [PATCH] ata: propagate return value of scc_wait_after_reset Arjun Sreedharan
@ 2014-08-16 11:37 ` Tejun Heo
2014-08-16 12:04 ` Arjun Sreedharan
0 siblings, 1 reply; 7+ messages in thread
From: Tejun Heo @ 2014-08-16 11:37 UTC (permalink / raw)
To: Arjun Sreedharan; +Cc: linux-ide, linux-kernel
Hello,
On Sat, Aug 16, 2014 at 03:47:17PM +0530, Arjun Sreedharan wrote:
> scc_bus_softreset not necessarily should return zero.
> Propagate the error code.
> Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
> ---
> drivers/ata/pata_scc.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
> index 4e006d7..5618c4518 100644
> --- a/drivers/ata/pata_scc.c
> +++ b/drivers/ata/pata_scc.c
> @@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
> * Note: Original code is ata_bus_softreset().
> */
>
> -static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
> +static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
> unsigned long deadline)
> {
> struct ata_ioports *ioaddr = &ap->ioaddr;
> @@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
scc_bus_softreset() should return int too, right?
> udelay(20);
> out_be32(ioaddr->ctl_addr, ap->ctl);
>
> - scc_wait_after_reset(&ap->link, devmask, deadline);
> -
> - return 0;
> + return scc_wait_after_reset(&ap->link, devmask, deadline);
> }
>
> /**
> @@ -618,7 +616,8 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
> {
> struct ata_port *ap = link->ap;
> unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS;
> - unsigned int devmask = 0, err_mask;
> + unsigned int devmask = 0;
> + int err_mask;
@rc or @ret would be a better name for it.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] ata: propagate return value of scc_wait_after_reset
2014-08-16 11:37 ` Tejun Heo
@ 2014-08-16 12:04 ` Arjun Sreedharan
2014-08-16 12:21 ` Tejun Heo
0 siblings, 1 reply; 7+ messages in thread
From: Arjun Sreedharan @ 2014-08-16 12:04 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-ide, linux-kernel
On 16 August 2014 17:07, Tejun Heo <tj@kernel.org> wrote:
> Hello,
>
> On Sat, Aug 16, 2014 at 03:47:17PM +0530, Arjun Sreedharan wrote:
>> scc_bus_softreset not necessarily should return zero.
>> Propagate the error code.
>> Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
>> ---
>> drivers/ata/pata_scc.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
>> index 4e006d7..5618c4518 100644
>> --- a/drivers/ata/pata_scc.c
>> +++ b/drivers/ata/pata_scc.c
>> @@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
>> * Note: Original code is ata_bus_softreset().
>> */
>>
>> -static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>> +static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>> unsigned long deadline)
>> {
>> struct ata_ioports *ioaddr = &ap->ioaddr;
>> @@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>
> scc_bus_softreset() should return int too, right?
I have changed it from unsigned int to int for better clarity since
scc_wait_after_reset() could
return negative errnos. Any issues ??
>
>> udelay(20);
>> out_be32(ioaddr->ctl_addr, ap->ctl);
>>
>> - scc_wait_after_reset(&ap->link, devmask, deadline);
>> -
>> - return 0;
>> + return scc_wait_after_reset(&ap->link, devmask, deadline);
>> }
>>
>> /**
>> @@ -618,7 +616,8 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
>> {
>> struct ata_port *ap = link->ap;
>> unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS;
>> - unsigned int devmask = 0, err_mask;
>> + unsigned int devmask = 0;
>> + int err_mask;
>
> @rc or @ret would be a better name for it.
rc would be better. yes. will do.
>
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] ata: propagate return value of scc_wait_after_reset
2014-08-16 12:04 ` Arjun Sreedharan
@ 2014-08-16 12:21 ` Tejun Heo
2014-08-16 12:25 ` Arjun Sreedharan
0 siblings, 1 reply; 7+ messages in thread
From: Tejun Heo @ 2014-08-16 12:21 UTC (permalink / raw)
To: Arjun Sreedharan; +Cc: linux-ide, linux-kernel
On Sat, Aug 16, 2014 at 05:34:31PM +0530, Arjun Sreedharan wrote:
> On 16 August 2014 17:07, Tejun Heo <tj@kernel.org> wrote:
> > Hello,
> >
> > On Sat, Aug 16, 2014 at 03:47:17PM +0530, Arjun Sreedharan wrote:
> >> scc_bus_softreset not necessarily should return zero.
> >> Propagate the error code.
> >> Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
> >> ---
> >> drivers/ata/pata_scc.c | 9 ++++-----
> >> 1 file changed, 4 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
> >> index 4e006d7..5618c4518 100644
> >> --- a/drivers/ata/pata_scc.c
> >> +++ b/drivers/ata/pata_scc.c
> >> @@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
> >> * Note: Original code is ata_bus_softreset().
> >> */
> >>
> >> -static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
> >> +static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
> >> unsigned long deadline)
> >> {
> >> struct ata_ioports *ioaddr = &ap->ioaddr;
> >> @@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
> >
> > scc_bus_softreset() should return int too, right?
>
> I have changed it from unsigned int to int for better clarity since
> scc_wait_after_reset() could
> return negative errnos. Any issues ??
Oh, I missed the previous chunk which changes it from uint to int.
Sorry about that.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] ata: propagate return value of scc_wait_after_reset
2014-08-16 12:21 ` Tejun Heo
@ 2014-08-16 12:25 ` Arjun Sreedharan
2014-08-16 12:50 ` Arjun Sreedharan
0 siblings, 1 reply; 7+ messages in thread
From: Arjun Sreedharan @ 2014-08-16 12:25 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-ide, linux-kernel
On 16 August 2014 17:51, Tejun Heo <tj@kernel.org> wrote:
> On Sat, Aug 16, 2014 at 05:34:31PM +0530, Arjun Sreedharan wrote:
>> On 16 August 2014 17:07, Tejun Heo <tj@kernel.org> wrote:
>> > Hello,
>> >
>> > On Sat, Aug 16, 2014 at 03:47:17PM +0530, Arjun Sreedharan wrote:
>> >> scc_bus_softreset not necessarily should return zero.
>> >> Propagate the error code.
>> >> Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
>> >> ---
>> >> drivers/ata/pata_scc.c | 9 ++++-----
>> >> 1 file changed, 4 insertions(+), 5 deletions(-)
>> >>
>> >> diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
>> >> index 4e006d7..5618c4518 100644
>> >> --- a/drivers/ata/pata_scc.c
>> >> +++ b/drivers/ata/pata_scc.c
>> >> @@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
>> >> * Note: Original code is ata_bus_softreset().
>> >> */
>> >>
>> >> -static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>> >> +static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>> >> unsigned long deadline)
>> >> {
>> >> struct ata_ioports *ioaddr = &ap->ioaddr;
>> >> @@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
>> >
>> > scc_bus_softreset() should return int too, right?
>>
>> I have changed it from unsigned int to int for better clarity since
>> scc_wait_after_reset() could
>> return negative errnos. Any issues ??
>
> Oh, I missed the previous chunk which changes it from uint to int.
> Sorry about that.
OK. i will resend the patch.
>
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH] ata: propagate return value of scc_wait_after_reset
2014-08-16 12:25 ` Arjun Sreedharan
@ 2014-08-16 12:50 ` Arjun Sreedharan
2014-08-16 12:55 ` Tejun Heo
0 siblings, 1 reply; 7+ messages in thread
From: Arjun Sreedharan @ 2014-08-16 12:50 UTC (permalink / raw)
To: tj; +Cc: linux-ide, linux-kernel
scc_bus_softreset not necessarily should return zero.
Propagate the error code.
Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
---
drivers/ata/pata_scc.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
index 4e006d7..b5013dc 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -585,7 +585,7 @@ static int scc_wait_after_reset(struct ata_link *link, unsigned int devmask,
* Note: Original code is ata_bus_softreset().
*/
-static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
+static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
unsigned long deadline)
{
struct ata_ioports *ioaddr = &ap->ioaddr;
@@ -599,9 +599,7 @@ static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask,
udelay(20);
out_be32(ioaddr->ctl_addr, ap->ctl);
- scc_wait_after_reset(&ap->link, devmask, deadline);
-
- return 0;
+ return scc_wait_after_reset(&ap->link, devmask, deadline);
}
/**
@@ -618,7 +616,8 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
{
struct ata_port *ap = link->ap;
unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS;
- unsigned int devmask = 0, err_mask;
+ unsigned int devmask = 0;
+ int rc;
u8 err;
DPRINTK("ENTER\n");
@@ -634,8 +633,8 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
/* issue bus reset */
DPRINTK("about to softreset, devmask=%x\n", devmask);
- err_mask = scc_bus_softreset(ap, devmask, deadline);
- if (err_mask) {
+ rc = scc_bus_softreset(ap, devmask, deadline);
+ if (rc) {
ata_port_err(ap, "SRST failed (err_mask=0x%x)\n", err_mask);
return -EIO;
}
--
1.7.11.7
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-08-16 12:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-16 10:17 [PATCH] ata: propagate return value of scc_wait_after_reset Arjun Sreedharan
2014-08-16 11:37 ` Tejun Heo
2014-08-16 12:04 ` Arjun Sreedharan
2014-08-16 12:21 ` Tejun Heo
2014-08-16 12:25 ` Arjun Sreedharan
2014-08-16 12:50 ` Arjun Sreedharan
2014-08-16 12:55 ` Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®