On Fri, 14 Dec 2001, Kirk Alexander wrote:
> [cc'ed to lkml and Gerard Roudier]
>
> Hi Jens,
>
> You asked people to send in reports of which drivers
> were broken by the removal of io_request_lock.
>
> My system is a clunky old Digital Pentium Pro with a
> NCR53c810 rev 2 scsi controller, so it can't use the
> sym driver.
Use sym53c8xx_2 instead. This one uses 2 different firmwares,
- one based on sym53c8xx driver scripts called
'LOAD/STORE based' firmware,
- and another one that only uses generic scripts instructions
and called 'GENERIC' firmware.
The GENERIC firmware has worked for me witn a 810 rev. 2.
I haven't this controller installed at the moment, but I can test the
driver by forcing the driver to use the GENERIC scripts instead for any
symbios chip.
You may let me know if sym53c8xx_2 still works with 810 rev 2.
> I fixed the problem by seeing what the sym
> driver did i.e. the patch below
> This may not be right at all, and I haven't had a
> chance to boot the kernel - but it did build OK.
The ncr53c8xx and sym53c8xx version 1 use the obsolete scsi eh handling.
Moving the eh code from sym53c8xx_2 (version 2) to ncr53c8xx/sym53c8xx is
quite feasible, but may-be it is just useless given sym53c8xx_2. For now,
it seems that sym53c8xx_2 replaces both ncr/sym53c8xx without any loss of
reliability and performance.
G?rard.
> Cheers,
> Kirk Alexander
>
> P.S.
> Please excuse me if this has already been fixed or
> posted, or if I've broken some lkml etiquette - first
> post I think after lurking off and on for ages. Also
> first time I've compiled a kernel that has only been
> out a few days!
You are welcome and you didn't break any etiquette. The lkml is a very
open mailing list but it gets more than 200 postings a day. Thus the
[email protected] list should be preferred for topics that
address scsi specifically.
> --- linux/drivers/scsi/sym53c8xx_comm.h Fri Dec 14
> 16:46:45 2001
> +++ linux/drivers/scsi/sym53c8xx_comm.h Fri Dec 14
> 16:49:19 2001
> @@ -438,11 +438,20 @@
> #define NCR_LOCK_NCB(np, flags)
> spin_lock_irqsave(&np->smp_lock, flags)
> #define NCR_UNLOCK_NCB(np, flags)
> spin_unlock_irqrestore(&np->smp_lock, flags)
>
> +#if LINUX_VERSION_CODE >= LinuxVersionCode(2,5,0)
> +
> +#define NCR_LOCK_SCSI_DONE(np, flags) \
> + spin_lock_irqsave((np)->done_list->host, flags)
> +#define NCR_UNLOCK_SCSI_DONE(np, flags) \
> + spin_unlock_irqrestore((np)->done_list->host,
> flags)
> +#else
> +
> #define NCR_LOCK_SCSI_DONE(np, flags) \
> spin_lock_irqsave(&io_request_lock, flags)
> #define NCR_UNLOCK_SCSI_DONE(np, flags) \
> spin_unlock_irqrestore(&io_request_lock, flags)
>
> +#endif
> #else
>
> #define NCR_LOCK_DRIVER(flags) do {
> save_flags(flags); cli(); } while (0)
On Fri, 14 Dec 2001 17:46:37 +0100 (CET)
G?rard Roudier <[email protected]> wrote:
> > My system is a clunky old Digital Pentium Pro with a
> > NCR53c810 rev 2 scsi controller, so it can't use the
> > sym driver.
>
> Use sym53c8xx_2 instead. This one uses 2 different firmwares,
> [...]
> You may let me know if sym53c8xx_2 still works with 810 rev 2.
On my system it does. I have it as a second controller and am using sym-2
without troubles.
Regards,
Stephan
On Sat, 15 Dec 2001, Stephan von Krawczynski wrote:
> On Fri, 14 Dec 2001 17:46:37 +0100 (CET)
> G?rard Roudier <[email protected]> wrote:
>
> > > My system is a clunky old Digital Pentium Pro with a
> > > NCR53c810 rev 2 scsi controller, so it can't use the
> > > sym driver.
> >
> > Use sym53c8xx_2 instead. This one uses 2 different firmwares,
> > [...]
> > You may let me know if sym53c8xx_2 still works with 810 rev 2.
>
> On my system it does. I have it as a second controller and am using sym-2
> without troubles.
Thanks for your report.
G?rard.
--- G?rard_Roudier <[email protected]> wrote: >
>
[snip]
>
> You may let me know if sym53c8xx_2 still works with 810 rev 2.
>
I tried the sym53c8xx_2 driver, put a fair load on the system (lots of sync'ing
and swapping) and didn't seem to have any trouble.
Cheers,
Kirk Alexander