2007-06-03 10:55:23

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] m68k: Atari SCSI driver update_timeout removal

From: Michael Schmitz <[email protected]>

Atari SCSI driver fixes: remove update_timeout kludge

Signed-off-by: Michael Schmitz <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
Cc: Christoph Hellwig <[email protected]>
---
This removes the timeout kludge in commit
fb810d121bceb945c5e576356bccba11cbfad7e3 that was NAK'ed by Christoph.

drivers/scsi/atari_NCR5380.c | 44 +------------------------------------------
1 file changed, 2 insertions(+), 42 deletions(-)

--- a/drivers/scsi/atari_NCR5380.c
+++ b/drivers/scsi/atari_NCR5380.c
@@ -894,45 +894,6 @@ static int NCR5380_init(struct Scsi_Host
}

/*
- * our own old-style timeout update
- */
-/*
- * The strategy is to cause the timer code to call scsi_times_out()
- * when the soonest timeout is pending.
- * The arguments are used when we are queueing a new command, because
- * we do not want to subtract the time used from this time, but when we
- * set the timer, we want to take this value into account.
- */
-
-int atari_scsi_update_timeout(Scsi_Cmnd * SCset, int timeout)
-{
- int rtn;
-
- /*
- * We are using the new error handling code to actually register/deregister
- * timers for timeout.
- */
-
- if (!timer_pending(&SCset->eh_timeout))
- rtn = 0;
- else
- rtn = SCset->eh_timeout.expires - jiffies;
-
- if (timeout == 0) {
- del_timer(&SCset->eh_timeout);
- SCset->eh_timeout.data = (unsigned long)NULL;
- SCset->eh_timeout.expires = 0;
- } else {
- if (SCset->eh_timeout.data != (unsigned long)NULL)
- del_timer(&SCset->eh_timeout);
- SCset->eh_timeout.data = (unsigned long)SCset;
- SCset->eh_timeout.expires = jiffies + timeout;
- add_timer(&SCset->eh_timeout);
- }
- return rtn;
-}
-
-/*
* Function : int NCR5380_queue_command (Scsi_Cmnd *cmd,
* void (*done)(Scsi_Cmnd *))
*
@@ -956,7 +917,6 @@ static int NCR5380_queue_command(Scsi_Cm
Scsi_Cmnd *tmp;
int oldto;
unsigned long flags;
- // extern int update_timeout(Scsi_Cmnd * SCset, int timeout);

#if (NDEBUG & NDEBUG_NO_WRITE)
switch (cmd->cmnd[0]) {
@@ -1029,9 +989,9 @@ static int NCR5380_queue_command(Scsi_Cm
* alter queues and touch the lock.
*/
if (!IS_A_TT()) {
- oldto = atari_scsi_update_timeout(cmd, 0);
+ /* perhaps stop command timer here */
falcon_get_lock();
- atari_scsi_update_timeout(cmd, oldto);
+ /* perhaps restart command timer here */
}
if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) {
LIST(cmd, hostdata->issue_queue);

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2007-06-04 07:28:57

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] m68k: Atari SCSI driver update_timeout removal

On Sun, Jun 03, 2007 at 12:55:04PM +0200, Geert Uytterhoeven wrote:
> From: Michael Schmitz <[email protected]>
>
> Atari SCSI driver fixes: remove update_timeout kludge

Looks good. James, can you send this on for 2.6.22 so the accidentally
added cludge doesn't end up in any release version?

> Signed-off-by: Michael Schmitz <[email protected]>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> ---
> This removes the timeout kludge in commit
> fb810d121bceb945c5e576356bccba11cbfad7e3 that was NAK'ed by Christoph.
>
> drivers/scsi/atari_NCR5380.c | 44 +------------------------------------------
> 1 file changed, 2 insertions(+), 42 deletions(-)
>
> --- a/drivers/scsi/atari_NCR5380.c
> +++ b/drivers/scsi/atari_NCR5380.c
> @@ -894,45 +894,6 @@ static int NCR5380_init(struct Scsi_Host
> }
>
> /*
> - * our own old-style timeout update
> - */
> -/*
> - * The strategy is to cause the timer code to call scsi_times_out()
> - * when the soonest timeout is pending.
> - * The arguments are used when we are queueing a new command, because
> - * we do not want to subtract the time used from this time, but when we
> - * set the timer, we want to take this value into account.
> - */
> -
> -int atari_scsi_update_timeout(Scsi_Cmnd * SCset, int timeout)
> -{
> - int rtn;
> -
> - /*
> - * We are using the new error handling code to actually register/deregister
> - * timers for timeout.
> - */
> -
> - if (!timer_pending(&SCset->eh_timeout))
> - rtn = 0;
> - else
> - rtn = SCset->eh_timeout.expires - jiffies;
> -
> - if (timeout == 0) {
> - del_timer(&SCset->eh_timeout);
> - SCset->eh_timeout.data = (unsigned long)NULL;
> - SCset->eh_timeout.expires = 0;
> - } else {
> - if (SCset->eh_timeout.data != (unsigned long)NULL)
> - del_timer(&SCset->eh_timeout);
> - SCset->eh_timeout.data = (unsigned long)SCset;
> - SCset->eh_timeout.expires = jiffies + timeout;
> - add_timer(&SCset->eh_timeout);
> - }
> - return rtn;
> -}
> -
> -/*
> * Function : int NCR5380_queue_command (Scsi_Cmnd *cmd,
> * void (*done)(Scsi_Cmnd *))
> *
> @@ -956,7 +917,6 @@ static int NCR5380_queue_command(Scsi_Cm
> Scsi_Cmnd *tmp;
> int oldto;
> unsigned long flags;
> - // extern int update_timeout(Scsi_Cmnd * SCset, int timeout);
>
> #if (NDEBUG & NDEBUG_NO_WRITE)
> switch (cmd->cmnd[0]) {
> @@ -1029,9 +989,9 @@ static int NCR5380_queue_command(Scsi_Cm
> * alter queues and touch the lock.
> */
> if (!IS_A_TT()) {
> - oldto = atari_scsi_update_timeout(cmd, 0);
> + /* perhaps stop command timer here */
> falcon_get_lock();
> - atari_scsi_update_timeout(cmd, oldto);
> + /* perhaps restart command timer here */
> }
> if (!(hostdata->issue_queue) || (cmd->cmnd[0] == REQUEST_SENSE)) {
> LIST(cmd, hostdata->issue_queue);
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
---end quoted text---

2007-06-04 14:52:30

by James Bottomley

[permalink] [raw]
Subject: Re: [PATCH] m68k: Atari SCSI driver update_timeout removal

On Mon, 2007-06-04 at 08:28 +0100, Christoph Hellwig wrote:
> On Sun, Jun 03, 2007 at 12:55:04PM +0200, Geert Uytterhoeven wrote:
> > From: Michael Schmitz <[email protected]>
> >
> > Atari SCSI driver fixes: remove update_timeout kludge
>
> Looks good. James, can you send this on for 2.6.22 so the accidentally
> added cludge doesn't end up in any release version?

Yes, sure ... I'm just preparing the -rc updates for SCSI now.

James