Messages in this thread | | | Date | Fri, 14 Dec 2001 17:46:37 +0100 (CET) | From | Gérard Roudier <> | Subject | Re: your mail |
| |
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 linux-scsi@vger.kernel.org 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)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |