Re: PROBLEM: Kernel 2.4.3 and later do not recognize SCSI CD-ROM
>Hi there, > >[1.] One line summary of the problem: > >Kernel 2.4.3 and 2.4.4 do not recognize my SCSI CD-ROM Your bus settle delay is too short. Reconfig your kernel with a longer delay. You should also upgrade to the latest driver from here: http://people.FreeBSD.org/~gibbs/linux/ In later driver versions, the bus settle delay variable was renamed to ensure the bus settle delay (now in milliseconds) would return to its default value during an upgrade. -- Justin - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: [NEW SCSI DRIVER] for 53c700 chip and NCR_D700 card against 2.4.4
I've implemented most of these as you suggest, with these exceptions: > > + default: > > + printk(KERN_INFO "scsi%d (%d:%d): Unexpected message %s: ", > > + host->host_no, pun, lun, > > + NCR_700_phase[(dsps & 0xf00) >> 8]); > > + print_msg(hostdata->msgin); > > + printk("\n"); > > It would be nice with a KERN_XX before "\n" (yes, I recognize that > print_msg does not do this :( ) The KERN_XX only go at the beginning of an output line (otherwise you see rather annoying embedded in the log---the smc-mca driver has a hugely irritating example of this). print_msg doesn't do a carriage return by itself, so these three prints are really only one line (and hence all done under the KERN_INFO). The "OUTSTANDING TAGS.." message is another one of these---it prints a list of tags all on one line. [EMAIL PROTECTED] said: > + if(request_irq(irq, NCR_700_intr, SA_SHIRQ, "NCR_D700", > +host)) { > + printk(KERN_ERR "NCR D700, channel %d: irq > +problem, detatching\n", i); > + NCR_700_release(host); > + release_region(host->base, 64); > + continue; > + } > > You need to kfree(hostdata) here. I would also recommend putting > a scsi_unregister into NCR_700_release since you need to balance > the scsi_register done in NCR_700_detect. Actually, I need to remove the release_region here (since it's done in NCR_700_release) and add a scsi_unregister. There's no need to do a scsi_unregister in _release; scsi_unregister is only really used to tell the mid layer to relinquish a host after an error. In _release, the mid layer is telling you that it has released the host and we need to clean up. Thanks for the updates, I'll post another patch once I've got a few other people's suggestions rolled in. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
[PATCH] Future Domain SCSI controller fix for 2.4.x
Hi, the driver for this card seems to have missed out on one of the changes to the SCSI layer between 2.2 and 2.4. Specifically, scsi_set_pci_device now wants an entire SCSI host object, instead of just the pci_dev part. Without the patch, we get a null kernel pointer dereference when the driver is initialized. With the single-line update, the driver works again. I've also included a patch to change an udelay loop into the equivalent mdelay call for code readability purposes. These are both against 2.4.4; please apply. -- Email: [EMAIL PROTECTED] --- linux-2.4.4/drivers/scsi/fdomain.oldMon May 14 16:33:11 2001 +++ linux-2.4.4/drivers/scsi/fdomain.c Fri May 4 11:07:41 2001 inline static void fdomain_make_bus_idle( void ) @@ -971,7 +969,7 @@ return 0; shpnt->irq = interrupt_level; shpnt->io_port = port_base; - scsi_set_pci_device(shpnt->pci_dev, pdev); + scsi_set_pci_device(shpnt, pdev); shpnt->n_io_port = 0x10; print_banner( shpnt ); --- linux-2.4.4/drivers/scsi/fdomain.oldMon May 14 16:33:11 2001 +++ linux-2.4.4/drivers/scsi/fdomain.c Fri May 4 11:07:41 2001 @@ -587,9 +587,7 @@ static void do_pause( unsigned amount )/* Pause for amount*10 milliseconds */ { - do { - udelay(10*1000); - } while (--amount); + mdelay(10*amount); } 2ø@2 - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: [NEW SCSI DRIVER] for 53c700 chip and NCR_D700 card against 2.4.4
Disclaimer: I know nothing of this device/hw, the scsi protocol or anything remotely applicable the functioning of this driver. The stuff below is just nit-picking and PITA-ing :) Pro-active kernel janitoring, if you like. On Sat, May 12, 2001 at 11:43:04AM -0500, James Bottomley wrote: [...] > +struct Scsi_Host * __init > +NCR_700_detect(Scsi_Host_Template *tpnt, > +struct NCR_700_Host_Parameters *hostdata) > +{ > + __u32 *script = kmalloc(sizeof(SCRIPT), GFP_KERNEL); > + __u32 pScript; > + struct Scsi_Host *host; > + static int banner = 0; > + int j; > + [...] > + > + host = scsi_register(tpnt, 4); > + if(script == NULL) { > + printk(KERN_ERR "53c700: Failed to allocate script, detatching\n"); > + scsi_unregister(host); > + return NULL; > + } You are not checking if the scsi_register went ok or not. [...] > +STATIC void > +free_slot(struct NCR_700_command_slot *slot, > + struct NCR_700_Host_Parameters *hostdata) > +{ > + int hash; > + struct NCR_700_command_slot **forw, **back; > + > + > + if((slot->state & NCR_700_SLOT_MASK) != NCR_700_SLOT_MAGIC) { > + printk(" SLOT %p is not MAGIC!!!\n", slot); > + } > + if(slot->state == NCR_700_SLOT_FREE) { > + printk(" SLOT %p is FREE!!!\n", slot); > + } Could you be persuaded to add KERN_SOMETHING to the printks above? [...] > +STATIC __u32 > +process_extended_message(struct Scsi_Host *host, > + struct NCR_700_Host_Parameters *hostdata, > + Scsi_Cmnd *SCp, __u32 dsp, __u32 dsps) > +{ > + __u32 resume_offset = dsp, temp = dsp + 8; > + __u8 pun = 0xff, lun = 0xff; > + > + if(SCp != NULL) { > + pun = SCp->target; > + lun = SCp->lun; > + } > + > + switch(hostdata->msgin[2]) { [...] > + > + default: > + printk(KERN_INFO "scsi%d (%d:%d): Unexpected message %s: ", > +host->host_no, pun, lun, > +NCR_700_phase[(dsps & 0xf00) >> 8]); > + print_msg(hostdata->msgin); > + printk("\n"); It would be nice with a KERN_XX before "\n" (yes, I recognize that print_msg does not do this :( ) [...] > +STATIC __u32 > +process_script_interrupt(__u32 dsps, __u32 dsp, Scsi_Cmnd *SCp, > + struct Scsi_Host *host, > + struct NCR_700_Host_Parameters *hostdata) > +{ [...] > + } else if((dsps & 0xf0f0) == A_UNEXPECTED_PHASE) { > + __u8 i = (dsps & 0xf00) >> 8; > + > + printk(KERN_ERR "scsi%d: (%d:%d), UNEXPECTED PHASE %s (%s)\n", > +host->host_no, pun, lun, > +NCR_700_phase[i], > +sbcl_to_string(inb(host->base + SBCL_REG))); > + printk(" len = %d, cmd =", SCp->cmd_len); A KERN_ERR prefix? [...] > + retry: > + if(slot == NULL) { > + struct NCR_700_command_slot *s = find_ITL_Nexus(hostdata, >reselection_id, lun); > + printk(KERN_ERR "scsi%d: (%d:%d) RESELECTED but no saved >command (MSG = %02x %02x %02x)!!\n", > +host->host_no, reselection_id, lun, > +hostdata->msgin[0], hostdata->msgin[1], > +hostdata->msgin[2]); > + printk(KERN_ERR " OUTSTANDING TAGS:"); > + while(s != NULL) { > + if(s->cmnd->target == reselection_id && > +s->cmnd->lun == lun) { > + printk("%d ", s->tag); KERN_ERR? > + if(s->tag == hostdata->msgin[2]) { > + printk(" ***FOUND*** \n"); As above. > + slot = s; > + goto retry; > + } > + > + } > + s = s->ITL_back; > + } > + printk("\n"); KERN_ERR? [...] > +void > +NCR_700_intr(int irq, void *dev_id, struct pt_regs *regs) > +{ [...] > + if(dsp == Ent_SendMessage + 8 + hostdata->pScript) { > + /* It wants to reply to some part of > + * our message */ > + __u32 temp = inl(host->base + TEMP_REG); > + > + int count = (hostdata->script[Ent_SendMessage/4] & >0xff) - ((inl(host->base + DBC_REG) & 0xff) + NCR_700_data_residual(host)); > + printk("scsi%d (%d:%d) PHASE MISMATCH IN SEND MESSAGE >%d remain, return %p[%04x], phase %s\n", host->host_no, pun, lun, count, (void >*)temp, temp - hostdata->pScript, sbcl_to_string(inb(host->base + SBCL_REG)));
Re: [NEW SCSI DRIVER] for 53c700 chip and NCR_D700 card against 2.4.4
> On Sun, May 13, 2001 at 11:40:33PM +0100, Alan Cox wrote: > > > If I am not mistaken, Richard Hirst has also done work on this thing. > > > > He did 53c710+. The 700 and 700/66 are much less capable devices. > > I did 53c700 as well, in the parisc-linux tree. Sounds like James' > driver is more featureful than mine though. I'll skip feeding the driver on to Linus until the two of you figure out the best path then - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: [NEW SCSI DRIVER] for 53c700 chip and NCR_D700 card against 2.4.4
On Sun, May 13, 2001 at 07:55:55PM -0500, James Bottomley wrote: > The next chip core I'm considering is the 720/770 (I have a nice microchannel card >with 4 of these and 2MB of onboard memory), unless you know of someone who has >already done the extra work (the 53c7xx and 53c7,8xx don't do the wide/ultra >features). I have modified ncr53c8xx.c to work with 53c720, again in the parisc-liunx tree. Richard - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: [NEW SCSI DRIVER] for 53c700 chip and NCR_D700 card against 2.4.4
On Sun, May 13, 2001 at 11:40:33PM +0100, Alan Cox wrote: > > If I am not mistaken, Richard Hirst has also done work on this thing. > > He did 53c710+. The 700 and 700/66 are much less capable devices. I did 53c700 as well, in the parisc-linux tree. Sounds like James' driver is more featureful than mine though. Richard - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: PROBLEM: Kernel 2.4.3 and later do not recognize SCSI CD-ROM
> [1.] One line summary of the problem: > Kernel 2.4.3 and 2.4.4 do not recognize my SCSI CD-ROM > I noticed that Changelog-2.4.2 has this record which may or may not > be related: > Andries Brouwer: remove overly restrictive sector size check > for SCSI cd-roms It is unrelated, because we first have to find a device before starting to look at its properties, and your problem is that the device is not found. I notice that 2.4.3 has gotten entirely new aic7xxx drivers, so probably the problem is there. Maybe you could try CONFIG_SCSI_AIC7XXX_OLD instead of CONFIG_SCSI_AIC7XXX. Andries - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: Kernel 2.4.4 source package apa1480 Slim SCSI
> the adaptec aha1480 Slim Scsi. they are normaly > located in /drivers/scsi/pcmcia. 2.4-ac still includes it if you need it .. but .. > > it was not included in kernel 2.4.4 source, since it > has been historically included under all the other > kernels. The aic7xxx in Linus tree should support it as well - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
Re: PROBLEM: Kernel 2.4.3 and later do not recognize SCSI CD-ROM
> Hi there, > > [1.] One line summary of the problem: > > Kernel 2.4.3 and 2.4.4 do not recognize my SCSI CD-ROM > > [2.] Full description of the problem/report: > > I was upgrading my kernel to the latest version 2.4.4, and my CD-ROM was > not recognized during boot. After that, I tried all 2.4.X kernels using > the same .config file. Kernels up to 2.4.2 work fine, while 2.4.3 and > 2.4.4 fail to recognize CD-ROM. > > If I try to mount /dev/cdrom (symlinked to /dev/sdc0) while running kernel > 2.4.3, I get an error saying that either major or minor number is > incorrect. When I boot 2.4.2, everything is fine. > > I noticed that Changelog-2.4.2 has this record which may or may not be > related: > - Andries Brouwer: remove overly restrictive sector size check for >SCSI cd-roms > Mu CD writer works (I burned a CD yesterday) and also reads: root@possum /root]# mount -o ro /dev/sr0 /mnt/cdrom/ [root@possum /root]# ls /mnt/cdrom/ /mnt/cdrom/: total 181 drwxr-xr-x5 root 4096 Apr 9 11:40 . drwxr-xr-x6 root 4096 Oct 24 2000 .. -rw-r--r--3 root 761 Apr 9 11:14 .buildlog -rw-r--r--2 root 17 Apr 9 11:40 .disc1-i386 -rw-r--r-- 105 root18385 Sep 8 1999 COPYING Miy SCSI is onboard AIC7880 driven by aic78xx. -- Cheers John Summerfield http://www2.ami.com.au/ for OS/2 & linux information. Configuration, networking, combined IBM ftpsites index. Microsoft's most solid OS: http://www.geocities.com/rcwoolley/ Note: mail delivered to me is deemed to be intended for me, for my disposition. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED]
PROBLEM: Kernel 2.4.3 and later do not recognize SCSI CD-ROM
Hi there, [1.] One line summary of the problem: Kernel 2.4.3 and 2.4.4 do not recognize my SCSI CD-ROM [2.] Full description of the problem/report: I was upgrading my kernel to the latest version 2.4.4, and my CD-ROM was not recognized during boot. After that, I tried all 2.4.X kernels using the same .config file. Kernels up to 2.4.2 work fine, while 2.4.3 and 2.4.4 fail to recognize CD-ROM. If I try to mount /dev/cdrom (symlinked to /dev/sdc0) while running kernel 2.4.3, I get an error saying that either major or minor number is incorrect. When I boot 2.4.2, everything is fine. I noticed that Changelog-2.4.2 has this record which may or may not be related: - Andries Brouwer: remove overly restrictive sector size check for SCSI cd-roms -- >From my normal (2.4.2) dmesg: SCSI subsystem driver Revision: 1.00 PCI: Found IRQ 10 for device 02:0a.0 PCI: The same IRQ used for device 02:0c.0 (scsi0) found at PCI 2/10/0 (scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs (scsi0) Downloading sequencer code... 392 instructions downloaded scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.1/5.2.0 (scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: SEAGATE Model: ST39140LC Rev: 1500 Type: Direct-Access ANSI SCSI revision: 02 (scsi0:0:1:0) Synchronous at 20.0 Mbyte/sec, offset 16. Vendor: TOSHIBA Model: CD-ROM XM-6401TA Rev: 1001 Type: CD-ROM ANSI SCSI revision: 02 (scsi0:0:3:0) Synchronous at 10.0 Mbyte/sec, offset 32. Vendor: HPModel: C1533ARev: A708 Type: Sequential-Access ANSI SCSI revision: 02 (scsi0:0:6:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: IBM Model: DDRS-34560W Rev: S97B Type: Direct-Access ANSI SCSI revision: 02 (scsi0:0:8:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: IBM Model: DGHS09D Rev: 03E0 Type: Direct-Access ANSI SCSI revision: 03 And this is from the "bad" (2.4.3) dmesg: SCSI subsystem driver Revision: 1.00 PCI: Found IRQ 10 for device 02:0a.0 PCI: The same IRQ used for device 02:0c.0 (scsi0) found at PCI 2/10/0 (scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs (scsi0) Downloading sequencer code... 392 instructions downloaded scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.1/5.2.0 (scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: SEAGATE Model: ST39140LC Rev: 1500 Type: Direct-Access ANSI SCSI revision: 02 (scsi0:0:3:0) Synchronous at 10.0 Mbyte/sec, offset 32. Vendor: HPModel: C1533ARev: A708 Type: Sequential-Access ANSI SCSI revision: 02 (scsi0:0:6:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: IBM Model: DDRS-34560W Rev: S97B Type: Direct-Access ANSI SCSI revision: 02 (scsi0:0:8:0) Synchronous at 40.0 Mbyte/sec, offset 15. Vendor: IBM Model: DGHS09D Rev: 03E0 Type: Direct-Access ANSI SCSI revision: 03 [3.] Keywords (i.e., modules, networking, kernel): kernel, SCSI, CD-ROM [4.] Kernel version (from /proc/version): Versions with the problem are 2.4.3 and 2.4.4. Current version is: Linux version 2.4.2 (root@andyt) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Sun May 13 20:33:02 CDT 2001 [5.] Output of Oops.. message (if applicable) with symbolic information resolved (see Documentation/oops-tracing.txt) N/A [6.] A small shell script or example program which triggers the problem (if possible) N/A [7.] Environment [7.1.] Software (add the output of the ver_linux script here) >From `ver_linux': Linux version 2.4.2 (root@andyt) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Sun May 13 20:33:02 CDT 2001 bash-2.04# ./ver_linux -- Versions installed: (if some fields are empty or looks -- unusual then possibly you have very old versions) Linux andyt 2.4.2 #1 Sun May 13 20:33:02 CDT 2001 i686 unknown Kernel modules 2.3.11 Gnu C egcs-2.91.66 Binutils 2.9.1.0.25 Linux C Library2.1.3 Dynamic linker ldd: version 1.9.9 Procps 2.0.6 Mount 2.10l Net-tools 1.55 Kbd0.99 Sh-utils 2.0 Sh-utils Parker. Sh-utils Sh-utils Inc. Sh-utils NO Sh-utils PURPOSE. cat: /proc/modules: No such file or directory Modules Loaded [7.2.] Processor information (from /proc/cpuinfo): processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 7 model name : Pentium III (Katmai) stepping: 3 cpu MHz : 498.685 cache size : 512 KB fdiv_bug: no hlt_bug : no f00f_bug: no coma_bug: no