Re: PROBLEM: Kernel 2.4.3 and later do not recognize SCSI CD-ROM

2001-05-14 Thread Justin T. Gibbs

>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

2001-05-14 Thread James Bottomley

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

2001-05-14 Thread Mike Harmon


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

2001-05-14 Thread Rasmus Andersen

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

2001-05-14 Thread Alan Cox

> 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

2001-05-14 Thread Richard Hirst

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

2001-05-14 Thread Richard Hirst

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

2001-05-14 Thread Andries . Brouwer

> [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

2001-05-14 Thread Alan Cox

> 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

2001-05-14 Thread John Summerfield

> 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

2001-05-14 Thread Andy Tsouladze

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