[PATCH] New updated devices.txt - LANANA

2006-12-01 Thread Torben Mathiasen
Here's the updated version with additonal spelling fixes.

Please use this one instead of the one that was sent 2 days ago.

Thanks,
Torben



--- linux-2.6.19-rc6/Documentation/devices.txt  2006-11-16 05:03:40.0 
+0100
+++ linux-2.6.19-rc6new/Documentation/devices.txt   2006-12-01 
11:04:28.0 +0100
@@ -3,7 +3,7 @@
 
 Maintained by Torben Mathiasen <[EMAIL PROTECTED]>
 
- Last revised: 15 May 2006
+ Last revised: 29 November 2006
 
 This list is the Linux Device List, the official registry of allocated
 device numbers and /dev directory nodes for the Linux operating
@@ -92,7 +92,7 @@ Your cooperation is appreciated.
  7 = /dev/full Returns ENOSPC on write
  8 = /dev/random   Nondeterministic random number gen.
  9 = /dev/urandom  Faster, less secure random number gen.
-10 = /dev/aio  Asyncronous I/O notification interface
+10 = /dev/aio  Asynchronous I/O notification interface
 11 = /dev/kmsg Writes to this come out as printk's
   1 block  RAM disk
  0 = /dev/ram0 First RAM disk
@@ -122,7 +122,7 @@ Your cooperation is appreciated.
devices are on major 128 and above and use the PTY
master multiplex (/dev/ptmx) to acquire a PTY on
demand.
-  
+
   2 block  Floppy disks
  0 = /dev/fd0  Controller 0, drive 0, autodetect
  1 = /dev/fd1  Controller 0, drive 1, autodetect
@@ -257,7 +257,7 @@ Your cooperation is appreciated.
129 = /dev/vcsa1tty1 text/attribute contents
...
191 = /dev/vcsa63   tty63 text/attribute contents
-   
+
NOTE: These devices permit both read and write access.
 
   7 block  Loopback devices
@@ -411,7 +411,7 @@ Your cooperation is appreciated.
207 = /dev/video/em8300_sp  EM8300 DVD decoder subpicture
208 = /dev/compaq/cpqphpc   Compaq PCI Hot Plug Controller
209 = /dev/compaq/cpqridCompaq Remote Insight Driver
-   210 = /dev/impi/bt  IMPI coprocessor block transfer 
+   210 = /dev/impi/bt  IMPI coprocessor block transfer
211 = /dev/impi/smicIMPI coprocessor stream interface
212 = /dev/watchdogs/0  First watchdog device
213 = /dev/watchdogs/1  Second watchdog device
@@ -582,7 +582,7 @@ Your cooperation is appreciated.
 
This device is used on the ARM-based Acorn RiscPC.
Partitions are handled the same way as for IDE disks
-   (see major number 3). 
+   (see major number 3).
 
  22 char   Digiboard serial card
  0 = /dev/ttyD0First Digiboard port
@@ -591,7 +591,7 @@ Your cooperation is appreciated.
  22 block  Second IDE hard disk/CD-ROM interface
  0 = /dev/hdc  Master: whole disk (or CD-ROM)
 64 = /dev/hdd  Slave: whole disk (or CD-ROM)
-   
+
Partitions are handled the same way as for the first
interface (see major number 3).
 
@@ -801,7 +801,7 @@ Your cooperation is appreciated.
  34 block  Fourth IDE hard disk/CD-ROM interface
  0 = /dev/hdg  Master: whole disk (or CD-ROM)
 64 = /dev/hdh  Slave: whole disk (or CD-ROM)
-   
+
Partitions are handled the same way as for the first
interface (see major number 3).
 
@@ -939,7 +939,7 @@ Your cooperation is appreciated.
 16 = /dev/ftlb FTL on second Memory Technology Device
 32 = /dev/ftlc FTL on third Memory Technology Device
...
-   240 = /dev/ftlp FTL on 16th Memory Technology Device 
+   240 = /dev/ftlp FTL on 16th Memory Technology Device
 
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the partition
@@ -1093,7 +1093,7 @@ Your cooperation is appreciated.
 
  55 char   DSP56001 digital signal processor
  0 = /dev/dsp56k   First DSP56001
- 55 block  Mylex DAC960 PCI RAID controller; eigth controller
+ 55 block  Mylex DAC960 PCI RAID controller; eighth controller
  0 = /dev/rd/c7d0  First disk, whole disk
  8 = /dev/rd/c7d1  Second disk, whole disk
...
@@ -1456,7 +1456,7 @@ Your cooperation is appreciated.
  1 = /dev/cum1 Callout device for ttyM1
...
 
- 79 block  Compaq Intelligent Drive Array, eigth controller
+ 79 block  Compaq Intelligent Drive Array, eighth controller
   

[PATCH] devices.txt - LANANA merge

2006-11-29 Thread Torben Mathiasen
Here's a merge with the latest from LANANA. Its been a while, so _please_ let
me know if anyone sees unwanted changes. A few whitespaces and formatting
changes included too.

Thanks,
Torben


--- linux-2.6.19-rc6/Documentation/devices.txt  2006-11-16 05:03:40.0 
+0100
+++ linux-2.6.19-rc6new/Documentation/devices.txt   2006-11-29 
10:43:41.0 +0100
@@ -3,7 +3,7 @@
 
 Maintained by Torben Mathiasen <[EMAIL PROTECTED]>
 
- Last revised: 15 May 2006
+ Last revised: 27 October 2006
 
 This list is the Linux Device List, the official registry of allocated
 device numbers and /dev directory nodes for the Linux operating
@@ -122,7 +122,7 @@
devices are on major 128 and above and use the PTY
master multiplex (/dev/ptmx) to acquire a PTY on
demand.
-  
+
   2 block  Floppy disks
  0 = /dev/fd0  Controller 0, drive 0, autodetect
  1 = /dev/fd1  Controller 0, drive 1, autodetect
@@ -257,7 +257,7 @@
129 = /dev/vcsa1tty1 text/attribute contents
...
191 = /dev/vcsa63   tty63 text/attribute contents
-   
+
NOTE: These devices permit both read and write access.
 
   7 block  Loopback devices
@@ -411,7 +411,7 @@
207 = /dev/video/em8300_sp  EM8300 DVD decoder subpicture
208 = /dev/compaq/cpqphpc   Compaq PCI Hot Plug Controller
209 = /dev/compaq/cpqridCompaq Remote Insight Driver
-   210 = /dev/impi/bt  IMPI coprocessor block transfer 
+   210 = /dev/impi/bt  IMPI coprocessor block transfer
211 = /dev/impi/smicIMPI coprocessor stream interface
212 = /dev/watchdogs/0  First watchdog device
213 = /dev/watchdogs/1  Second watchdog device
@@ -582,7 +582,7 @@
 
This device is used on the ARM-based Acorn RiscPC.
Partitions are handled the same way as for IDE disks
-   (see major number 3). 
+   (see major number 3).
 
  22 char   Digiboard serial card
  0 = /dev/ttyD0First Digiboard port
@@ -591,7 +591,7 @@
  22 block  Second IDE hard disk/CD-ROM interface
  0 = /dev/hdc  Master: whole disk (or CD-ROM)
 64 = /dev/hdd  Slave: whole disk (or CD-ROM)
-   
+
Partitions are handled the same way as for the first
interface (see major number 3).
 
@@ -801,7 +801,7 @@
  34 block  Fourth IDE hard disk/CD-ROM interface
  0 = /dev/hdg  Master: whole disk (or CD-ROM)
 64 = /dev/hdh  Slave: whole disk (or CD-ROM)
-   
+
Partitions are handled the same way as for the first
interface (see major number 3).
 
@@ -939,7 +939,7 @@
 16 = /dev/ftlb FTL on second Memory Technology Device
 32 = /dev/ftlc FTL on third Memory Technology Device
...
-   240 = /dev/ftlp FTL on 16th Memory Technology Device 
+   240 = /dev/ftlp FTL on 16th Memory Technology Device
 
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the partition
@@ -1695,7 +1695,7 @@
  1 = /dev/ipnatNAT control device/log file
  2 = /dev/ipstate  State information log file
  3 = /dev/ipauth   Authentication control device/log file
-   ... 
+   ...
 
  96 char   Parallel port ATAPI tape devices
  0 = /dev/pt0  First parallel port ATAPI tape
@@ -2427,7 +2427,7 @@
 
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
-   partitions is 31. 
+   partitions is 31.
 
 162 char   Raw block device interface
  0 = /dev/rawctl   Raw I/O control device
@@ -2543,9 +2543,6 @@
 64 = /dev/usb/rio500   Diamond Rio 500
 65 = /dev/usb/usblcd   USBLCD Interface ([EMAIL PROTECTED])
 66 = /dev/usb/cpad0Synaptics cPad (mouse/LCD)
-67 = /dev/usb/adutux0  1st Ontrak ADU device
-   ...
-76 = /dev/usb/adutux10 10th Ontrak ADU device
 96 = /dev/usb/hiddev0  1st USB HID device
...
111 = /dev/usb/hiddev15 16th USB HID device
@@ -2571,7 +2568,7 @@
  0 = /dev/uba  First USB block device
  8 = /dev/ubb  Second USB block device
 16 = /dev/ubc  Third USB b

Re: [PATCH] Devices.txt, update with LANANA

2005-02-04 Thread Torben Mathiasen
On Thu, Feb 03 2005, Greg KH wrote:



> Hm, this is just wrong.  As I recall, LANANA is in charge of the major
> numbers, but for the USB major, the USB developers have been assigning
> the USB minors.  This patch just made the file different from what is
> currently present in the kernel.
> 
> Should I just submit a patch to LANANA to update the USB minors for
> their copy so this doesn't happen again?
>

Yes please!. Since the devices file at lanana.org is the one being merged into
the one in the kernel tree, please send future updates to lanana and it'll go
in that way.

Thanks,
Torben
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.4.1-ac7

2001-02-08 Thread Torben Mathiasen

On Thu, Feb 08 2001, Rik van Riel wrote:
> On Thu, 8 Feb 2001, Alan Cox wrote:
> 
> > ftp://ftp.kernel.org/pub/linux/kernel/people/alan/2.4/
> > 
> > 2.4.1-ac7
> > o   Rebalance the 2.4.1 VM  (Rik van Riel)
> > | This should make things feel a lot faster especially
> > | on small boxes .. feedback to Rik
> 
> I'd really like feedback from people when it comes to this
> change. The change /should/ fix most paging performance bugs
> because it makes kswapd do the right amount of work in order
> to solve the free memory shortage every time it is run.
 
Rik,

Just installed ac7 and after some 30 minutes of unpacking
kernel-sources and diffing patches, I left my computer unattended
for about 1 hour. When I came back the system was unusable (like it 
was frozen), and /var/log/messages just displayed messages of the
type:

Feb  8 22:54:40 fry kernel: Out of Memory: Killed process 455 (xmms).
...

The OOM killer killed most of my apps, and finally X. I had to reboot
in order to get the system back. I've been running ac1-ac6 since they
came out with no problems, so I guess its the VM hack that is buggy.

This is on an AMD K7 1200Mhz, 512MB Ram, ATA100. Nothing big was
running at the time (xchat, xmms, mozilla, gnome, x, a few xterms).

I'll do some more testing tomorrow and provide any further information
you might need.



-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://opensource.compaq.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] Acorn SCSI loading

2001-01-30 Thread Torben Mathiasen

Hi,

Just noticed the SCSI drivers for the ACORN bus weren't 
updated to the new initialization. AFAIK these drivers couldn't 
have been functional without this patch.


Patch is against 2.4.1



-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://opensource.compaq.com



diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/acornscsi.c 
linux/drivers/acorn/scsi/acornscsi.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/acornscsi.cTue Sep 19 00:15:22 
2000
+++ linux/drivers/acorn/scsi/acornscsi.cTue Jan 30 22:18:50 2001
@@ -3118,9 +3118,7 @@
 return pos;
 }
 
-#ifdef MODULE
 
 Scsi_Host_Template driver_template = ACORNSCSI_3;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/arxescsi.c 
linux/drivers/acorn/scsi/arxescsi.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/arxescsi.c Tue Sep 19 00:15:22 
2000
+++ linux/drivers/acorn/scsi/arxescsi.c Tue Jan 30 22:19:06 2001
@@ -416,8 +416,6 @@
return pos;
 }
 
-#ifdef MODULE
 Scsi_Host_Template driver_template = ARXEScsi;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/cumana_1.c 
linux/drivers/acorn/scsi/cumana_1.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/cumana_1.c Fri Nov 12 01:57:30 
1999
+++ linux/drivers/acorn/scsi/cumana_1.c Tue Jan 30 22:19:29 2001
@@ -359,9 +359,7 @@
 
 #include "../../scsi/NCR5380.c"
 
-#ifdef MODULE
 
 Scsi_Host_Template driver_template = CUMANA_NCR5380;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/cumana_2.c 
linux/drivers/acorn/scsi/cumana_2.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/cumana_2.c Tue Sep 19 00:15:22 
2000
+++ linux/drivers/acorn/scsi/cumana_2.c Tue Jan 30 22:19:41 2001
@@ -541,8 +541,6 @@
return pos;
 }
 
-#ifdef MODULE
 Scsi_Host_Template driver_template = CUMANASCSI_2;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/ecoscsi.c 
linux/drivers/acorn/scsi/ecoscsi.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/ecoscsi.c  Fri Nov 12 01:57:30 
1999
+++ linux/drivers/acorn/scsi/ecoscsi.c  Tue Jan 30 22:19:56 2001
@@ -233,9 +233,7 @@
 
 #include "../../scsi/NCR5380.c"
 
-#ifdef MODULE
 
 Scsi_Host_Template driver_template = ECOSCSI_NCR5380;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/eesox.c 
linux/drivers/acorn/scsi/eesox.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/eesox.cTue Sep 19 00:15:22 
2000
+++ linux/drivers/acorn/scsi/eesox.cTue Jan 30 22:20:09 2001
@@ -543,8 +543,6 @@
return pos;
 }
 
-#ifdef MODULE
 Scsi_Host_Template driver_template = EESOXSCSI;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/oak.c 
linux/drivers/acorn/scsi/oak.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/oak.c  Fri Nov 12 01:57:30 1999
+++ linux/drivers/acorn/scsi/oak.c  Tue Jan 30 22:20:51 2001
@@ -226,9 +226,7 @@
 
 #include "../../scsi/NCR5380.c"
 
-#ifdef MODULE
 
 Scsi_Host_Template driver_template = OAK_NCR5380;
 
 #include "../../scsi/scsi_module.c"
-#endif
diff -ur /opt/kernel/kernels/linux/drivers/acorn/scsi/powertec.c 
linux/drivers/acorn/scsi/powertec.c
--- /opt/kernel/kernels/linux/drivers/acorn/scsi/powertec.c Tue Sep 19 00:15:22 
2000
+++ linux/drivers/acorn/scsi/powertec.c Tue Jan 30 22:21:00 2001
@@ -445,8 +445,6 @@
return pos;
 }
 
-#ifdef MODULE
 Scsi_Host_Template driver_template = POWERTECSCSI;
 
 #include "../../scsi/scsi_module.c"
-#endif



Re: eepro100 problems in 2.4.0

2001-01-26 Thread Torben Mathiasen

On Friday, 26 January 2001, [EMAIL PROTECTED] wrote:
> Hi,
> 
> On Thu, Jan 25, 2001 at 04:19:27PM -0500, Jeff Garzik wrote:
> > Oops, sorry guys.  Thanks to DaveM for correcting me -- my patch has
> > nothing to do with the "card reports no resources" problem.  My
> > apologies.
> 
> No problems.
> 
> However, there is a real problem with eepro100 when the system resumes
> operations after a sleep.
> May be, you could guess what's wrong in this case?
> 

I had to add this small patch to make it work properly with my Armada
M700. It basiclly just does something similar to what happens when we
get TX timeouts. Its just a quick hack, as I got tired of the eepro100
driver dumping the tx/rx queues when resuming.

Regards,

Torben Mathiasen




Re: [PATCH][RFC] Converting drivers/net/rcpci45.c to new PCI API

2000-12-19 Thread Torben Mathiasen

On Tue, Dec 19 2000, Rasmus Andersen wrote:
> On Tue, Dec 19, 2000 at 10:05:30PM +0100, Torben Mathiasen wrote:
> > 
> > You should release the irq when the adapter is closed, not removed,
> > unless there's some special case that can't be handled if you take
> > ints during init.
> 
> You seem to be right. I have moved the free_irq to the close function.
>

This driver seems a bit odd. It also request irq's durint init instead
of device open. Normally one would request any resource as late as
possible (to prevent the driver from using resources when it is
not even used). It makes one wonder if this driver has just not
been updated in a while, or if it does things for a reason.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH][RFC] Converting drivers/net/rcpci45.c to new PCI API

2000-12-19 Thread Torben Mathiasen

On Tue, Dec 19 2000, Francois Romieu wrote:

[deleted]

> > -   if (pci_enable_device(pdev))
> > -   break;
> > -   pci_set_master(pdev);
> > +   unregister_netdev(dev);
> > +   iounmap((void *)dev->base_addr);
> > +free_irq(dev->irq, dev);
> 
> I'd rather inhibit irq first then release the ressources.
> +   free_irq(dev->irq, dev);
> + iounmap((void *)dev->base_addr);
> + unregister_netdev(dev);
>

You should release the irq when the adapter is closed, not removed,
unless there's some special case that can't be handled if you take
ints during init.

And why would you unregister your netdev after releasing resources?



-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: SCSI modules and kmod

2000-12-07 Thread Torben Mathiasen

On Thu, Dec 07 2000, [EMAIL PROTECTED] wrote:

[deleted]
 
> int regdevresult;
> 
> case MODULE_SCSI_DEV:
> #ifdef CONFIG_KMOD
> if (scsi_hosts == NULL)
>   {
> request_module("scsi_hostadapter");
> return scsi_register_device_module((struct
> Scsi_Device_Template *) ptr);
>   }
> #endif
> regdevresult = scsi_register_device_module((struct
> Scsi_Device_Template *) ptr);
> #ifdef CONFIG_KMOD
> if (regdevresult != 0) /* is this the right case? */
> request_module("scsi_hostadapter");
> regdevresult = scsi_register_device_module((struct
> Scsi_Device_Template *) ptr);
> #endif
> return regdevresult;
> 
This won't work. scsi_register_device_module returns 0 when the 
driver loads ok, not when a device was actually found. Remember
its possible to load the sd driver with no host adapter present.

How about just removing the check for scsi_hosts == NULL. If some
hostadapter was already loaded, so be it. It won't change anything,
besides maybe more devices beeing loaded which shouldn't hurt anyone.

Small patch attached (against t12p7). Not tested, not even compiled.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


--- /opt/kernel/kernels/linux/drivers/scsi/scsi.c   Wed Nov  1 15:04:02 2000
+++ linux/drivers/scsi/scsi.c   Fri Dec  8 02:13:47 2000
@@ -2322,11 +2322,9 @@
/* Load upper level device handler of some kind */
case MODULE_SCSI_DEV:
 #ifdef CONFIG_KMOD
-   if (scsi_hosts == NULL)
-   request_module("scsi_hostadapter");
+   request_module("scsi_hostadapter");
 #endif
-   return scsi_register_device_module((struct Scsi_Device_Template *) 
ptr);
-   /* The rest of these are not yet implemented */
+   return scsi_register_device_module((struct Scsi_Device_Template *) ptr);
 
/* Load constants.o */
case MODULE_SCSI_CONST:



Re: SCSI Oops (was test12-pre4)

2000-12-06 Thread Torben Mathiasen

On Mon, Dec 04 2000, Borislav Deianov wrote:
> (cross-posted to linux-kernel and linux-scsi)
> 
> Hi,
> 
> The SCSI oops I reported last week is still present in test12-pre4.
> This is on a Dell PowerEdge 6300. It has two Adaptec AIC-7890, one
> Adaptec AIC-7860, and an AMI MegaRAID controller. There's nothing on
> the 7890s, a CDROM and a tape drive on the 7890.
> 
> With all of the above enabled the kernel boots with no problems.
> However, if I disable the two 7890s from the BIOS (to save 30 seconds
> of boot time), I get an oops.
> 
> The decoded oops is below. Please email me directly for further
> information.
>

Could you find out exactly when this broke?


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: scsi init problem in 2.4.0-test10?

2000-11-02 Thread Torben Mathiasen

The SCSI spec says that INQUIRY and not
TUR + INQUIRY is the way to go, but maybe we
should make it a compile time option for buggy
drives.


On Thu, Nov 02 2000, Elizabeth Morris-Baker wrote:
> > 
> 
>   You need to send the TUR first, but yes, 
>   START_STOP will guarantee that you are
>   ready to rock and roll.
>   The first fix I wrote did a TUR, then
>   3 tries at a START_STOP, till it worked.
>   
>   cheers, 
> 
>   Elizabeth
>

[deleted]

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-15 Thread Torben Mathiasen

On Sun, Oct 15 2000, David S. Miller wrote:
>Date: Sun, 15 Oct 2000 11:19:24 +0200
>From: Torben Mathiasen <[EMAIL PROTECTED]>
> 
>It seems reasonable. We'd been thinking of makeing proc_name part
>of the host structure, but no need for that if we just do the
>above.
> 
> Either fix is ok by me, but it does seem that enforcing proc_name
> initialization might be the better fix long term.

Agreed, it'll clean it up also. Lets make both. If Linus moves the
remove_proc_entry people will stop oopsing, and I'll have some 
time to test the proc_name changes.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-15 Thread Torben Mathiasen

On Sat, Oct 14 2000, Linus Torvalds wrote:
> 
> 
> On Sat, 14 Oct 2000, David S. Miller wrote:
> > 
> > The loop would be a no-op but the remove_proc_entry call would not.
> > Perhaps you didn't notice that there too?  It's pretty close to the
> > loop :-)
> 
> Ok.
> 
> In fact, it's in the _wrong_ part.
> 
> That remove_proc_entry() should be there in the same place where we remove
> the entry in teh list, wouldn't you say? Makes tons more sense that way,
> doesn't crash, and is understandable.
>

It seems reasonable. We'd been thinking of makeing proc_name part of the
host structure, but no need for that if we just do the above.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Hudge collection of Oops ;-)

2000-10-14 Thread Torben Mathiasen

On Sat, Oct 14 2000, Gregoire Favre wrote:
> Hello,
> 
> I have put configuration files (in acsii and in bz2) on:
> http://ulima.unil.ch/greg/linux/
> 
> Briefly, there are /var/log/messages System-map from test8 and test9
> and the conf files I used to compile my kernels, and finally one dmesg.
> 
> What I use non standard are: Reiserfs, DVB, BTTV and lirc (Hauppauge).
> (and EMU10K1,aic7xxx).
> 
> Anyone got an idea on the reason of the Oopses?
>

It would be much easier if you could try to narrow down exacly what breaks. 
If these opps's are reproduceable, please try removing some of your drivers.
SCSI had an overhaul lately, so it seem like a good place to start. 

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-14 Thread Torben Mathiasen

On Sat, Oct 14 2000, David S. Miller wrote:
>Date:  Sat, 14 Oct 2000 12:12:39 +0200
>From: Torben Mathiasen <[EMAIL PROTECTED]>
> 
>Are there any reason why sym53c8xx and others initialize proc_name
>only if an adapter was actually found (or in the sym case, if a
>pcibus was found)?
> 
> I see no particular reason.  Why not code up the patch to fix all
> these cases so we can find out? :-) I would recommend putting them all
> into the host structure for that driver, unless there is some weird
> reason the driver absolutely must generate the string at run time.
>

Yeah, lets find out. I'll cook it up.

Linus,
What do you think. Something you would accept for 2.4?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-14 Thread Torben Mathiasen

On Sat, Oct 14 2000, David S. Miller wrote:
>Date: Sat, 14 Oct 2000 11:43:09 +0200
>From: Torben Mathiasen <[EMAIL PROTECTED]>
> 
>David, why is tpnt->proc_name NULL on sparc for devices not
>existing?  Every driver has this as part of their tpnt struct, so
>it doesn't matter if the underlying device really exists.
> 
> In the mentioned case it would be NULL on all architectures, not just
> Sparc ;-) (it happens on ix86 too, ix86 is different only because it
> does not trap kernel NULL pointer derefences during bootup for some
> odd reason)
> 
> Here is what happens:
> 
> scsi_register_host()
>   tpnt->present = tpnt->detect(tpnt);
>   /* tpnt->present is zero since no such adapters were found */
> 
> If no hosts are detected the driver is under no obligation to
> initialize the tpnt->proc_name field.  For example,
> sym53c8xx.c:sym53c8xx_detect() does not if PCI is not present and this
> is the specific case hit on my SBUS-only workstation :-)
> 
> Subsequently scsi_unregister_host() is called for this TPNT and
> this is where the NULL pointer is hit.
>

Ahh, the drivers I looked at all had proc_name as part of their:

define IN2000 {
bla:bla,
proc_name: IN2000,

}

structure. I see your point now.

Are there any reason why sym53c8xx and others initialize proc_name only
if an adapter was actually found (or in the sym case, if a pcibus was
found)?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-14 Thread Torben Mathiasen

On Sat, Oct 14 2000, David S. Miller wrote:
>Date: Fri, 13 Oct 2000 20:37:46 -0700 (PDT)
>From: Linus Torvalds <[EMAIL PROTECTED]>
> 
>Why would it crash the sparc?
> 
>If it wasn't there originally, the loop will not find it, and the
>loop will be a no-op.
> 
> The loop would be a no-op but the remove_proc_entry call would not.
> Perhaps you didn't notice that there too?  It's pretty close to the
> loop :-)
> 
> tpnt->proc_name in this case is NULL, that is fed to the procfs
> unregister code (and next to strncmp), leading to an OOPS on non-x86
> during bootup with scsi adapter drivers not in the machine compiled
> statically into the kernel.
>

David, why is tpnt->proc_name NULL on sparc for devices not existing? 
Every driver has this as part of their tpnt struct, so it doesn't 
matter if the underlying device really exists.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Fix SCSI proc oops

2000-10-12 Thread Torben Mathiasen

On Thu, Oct 12 2000, Linus Torvalds wrote:
> 
> 
> On Thu, 12 Oct 2000, Torben Mathiasen wrote:
> > 
> > Attached patch should fix the oops's people have been getting
> > while using /proc/scsi.
> 
> This patch makes no sense. Why
> 
>   if (!present)
> 
> when that is obviously the wrong way around.
>

We want to make sure that all hostadapters have been unregistered 
befor we pull it out of the scsi_hosts list. We do tpnt->present--
for every hostadaper we unregister.

Prior to the new init code, we'd just do something like,

if (tpnt->present)
return;

I might be wrong though, it could be another bug that I've missed.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] Fix SCSI proc oops

2000-10-12 Thread Torben Mathiasen

Linus,

Attached patch should fix the oops's people have been getting
while using /proc/scsi.

Patch is against test10p1.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


--- linux-test10p1/drivers/scsi/scsi.c  Thu Oct 12 20:18:47 2000
+++ linux/drivers/scsi/scsi.c   Thu Oct 12 21:03:39 2000
@@ -36,8 +36,8 @@
  *  out_of_space hacks, D. Gilbert (dpg) 990608
  */
 
-#define REVISION   "Revision: 1.00"
-#define VERSION"Id: scsi.c 1.00 2000/09/26"
+#define REVISION   "Revision: 1.01"
+#define VERSION"Id: scsi.c 1.01 2000/10/12"
 
 #include 
 #include 
@@ -2156,7 +2156,7 @@
 #endif
 
/* Remove it from the linked list and /proc */
-   if (tpnt->present) {
+   if (!tpnt->present) {
Scsi_Host_Template **SHTp = &scsi_hosts;
Scsi_Host_Template *SHT;
 
@@ -2169,8 +2169,9 @@
}
/* Rebuild the /proc/scsi directory entries */
remove_proc_entry(tpnt->proc_name, proc_scsi);
+   MOD_DEC_USE_COUNT;
+
}
-   MOD_DEC_USE_COUNT;
 }
 
 static int scsi_unregister_device(struct Scsi_Device_Template *tpnt);



Re: Updated Linux 2.4 Status/TODO List (from the ALS show)

2000-10-12 Thread Torben Mathiasen

On Thu, Oct 12 2000, [EMAIL PROTECTED] wrote:
> 8. Fix Exists But Isnt Merged
>  * TLAN nic appears to be adding a timer twice (2.4.0test8pre6, Arjan
>ve de Ven) (Fixed, but patch not sent to Linus yet -- Torben
>    Mathiasen)
>  * Loading the qlogicfc driver in 2.4.0-test8 causes the kernel to
>loop forver reporting SCSI disks that aren't present (Paul
>    Hubbard, Torben Mathiasen has a potential patch, sent to Linus,
>need to very with Paul)

These two have been merged.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Alan Cox wrote:
> > > You have to do Buslogic and AHA17xx before AHA15xx or you get a wrong driver
> > >   and in the 17xx case data corruption risks
> > 
> > Hmm.. The current order is the same as in 2.2.x, and puts aha17xx _after_
> > the other ones. Or did that change in the later 2.2.x series?
> 
> I will double check that with Eric Youngdale. It may be the driver in the 1542
> code was changed to detect a 17xx and leave it alone at some point in 2.0
> days. The buslogic one the comments still claim is needed
> 
> > > You must do scsi before i2o_scsi or AMI Megaraids break
> > 
> > So change the drivers/Makefile to put scsi before i2o and
> > drivers/scsi/Makefile to do the aha17xx thing first, and we're all done.
> 
> Yep.
>

Okay I might be too tired to see this now, but AFAIK i2o does link after
scsi in test9. We need however to remove the #ifdef MODULE around 
"#include scsi_module.c" in i2o_scsi.c and everything should be set.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Alan Cox wrote:
> > Yes, that can be done pretty easy, but Then I2O will link
> > 
> > core - hosts - upper - I2O and I'm not sure this is okay. 
> 
> Thats fine. I2O scsi is the last scsi driver anyway, the rest of i2o registers
> devices on different majors with no ordering issues
>

Excellent. But Alan, you wrote earlier that i2o needed to be the last host
adapter and _before_ the upper layers. This is what made me start this 
patch.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Linus Torvalds wrote:
> 
> 
> On Mon, 9 Oct 2000, Torben Mathiasen wrote:
> > 
> > My point exactly. The ordering of driver in drivers/scsi is done now,
> > but I don't see a clean way of doing I2O without moving upperlayers
> > into a seperate dir.
> 
> Why?
>

I was referring to Alan's statement about i2o should be the last lowlevel
driver before the upper layers. I'm not familar with the i2o code,
just thought there was a reason.




-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Linus Torvalds wrote:
> 
> 
> On Mon, 9 Oct 2000, Alan Cox wrote:
> > 
> > Link scsi as a whole before i2o  ?
> 
> Yup. 
> 
> Also, we should really finalise the host order thing in scsi/Makefile. If
> it's true that aha17xx must come before aha1542, it's wrong as it stands
> now. Any other gotchas that were caught in 2.2.x?
>

Okay. I'll wait a few hours for additional host adapter information, and
then send a patch with the i2o stuff included.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Alan Cox wrote:
> > > You have to do Buslogic and AHA17xx before AHA15xx or you get a wrong driver
> > >   and in the 17xx case data corruption risks
> > > You must do scsi before i2o_scsi or AMI Megaraids break
> > >
> > 
> > My point exactly. The ordering of driver in drivers/scsi is done now,
> > but I don't see a clean way of doing I2O without moving upperlayers
> > into a seperate dir.
> 
> Link scsi as a whole before i2o  ?
>

Yes, that can be done pretty easy, but Then I2O will link

core - hosts - upper - I2O and I'm not sure this is okay. 

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-09 Thread Torben Mathiasen

On Mon, Oct 09 2000, Alan Cox wrote:
> > At this point, I would prefer that we just leave the ordering alone - I
> > don' tknow of any actual problems with it, and I don't think it's worth
> > re-organizing things to make it the exact same thing it used to be..
> 
> SCSI has real ordering requirements for drivers.
> 
> You have to do Buslogic and AHA17xx before AHA15xx or you get a wrong driver
>   and in the 17xx case data corruption risks
> You must do scsi before i2o_scsi or AMI Megaraids break
>

My point exactly. The ordering of driver in drivers/scsi is done now,
but I don't see a clean way of doing I2O without moving upperlayers
into a seperate dir.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-08 Thread Torben Mathiasen

On Sun, Oct 08 2000, Linus Torvalds wrote:
> 
> 
> On Thu, 5 Oct 2000, Torben Mathiasen wrote:
> > 
> > This patch is a resend of my other link fix patch that didn't get
> > in test9-pre9. I assume this is because of some other changes
> > to upper layer scsi drivers.
> 
> No, I just felt it was too big, and with not enough reason for it at all.
> 
> At this point, I would prefer that we just leave the ordering alone - I
> don' tknow of any actual problems with it, and I don't think it's worth
> re-organizing things to make it the exact same thing it used to be..
>

No problem, but what about Alan's statement? :

> You need to get the i2o scsi driver run last afte the low level and before
> the high level drivers despite being in drivers/i2o. There are some other
> drivers which arent in drivers/scsi too 
>

It seems reasonable.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] 2nd go for scsi upper layers + I2O

2000-10-06 Thread Torben Mathiasen

On Fri, Oct 06 2000, Douglas Gilbert wrote:
> Torben Mathiasen wrote:
> 
> > Ok this patch should be diffed correctly. Same things apply:
> >
> >   apply patch
> >   copy sd.c st.c sg.c sr.c sr_ioctl.c sr_vendor.c from
> >   drivers/scsi to drivers/scsi/upper  
> >
> > The EXPORT_SYMBOL has been removed as Jeff suggested.
> > 
> > TLAN will hopefully follow soon.
> 
> [snipped most of patch, see lkml]
> 
> > +sg_mod.o: $(sg_mod-objs)
> > +   $(LD) -r -o $@ $(sg_mod-objs)
> 
> Firstly, I just spent 2 months trying to get the sd module
> name reverted to "sd_mod.o" as it is in lk 2.2 and 2.0 .Now 
> this patch seems to rename the sg module to "sg_mod.o"! 
> Since the vast majority of distributions build sg as a module,
> there could be a lot of irate SANE and cdrecord users out
> there. Also devfsd and other module loading software would 
> need to be changed. Hopefully this is an oversight.
> 

Sure, no problem.

> Secondly, do we really need the scsi Makefile and directory
> structure changed this close to the lk 2.4 release?
> What does it gain us? Could changes of this dimension be
> sent to Eric Youngdale or at least the linux-scsi list
> rather than just sent to the linux-kernel list?

First of all I _did_ send a patch off to linux-scsi, and this
issue _has_ been discussed with Eric. 

And yes its needed. The lowlevel scsi drivers needs to link
in before the high level ones. Alan posted this to l-k.

> You need to get the i2o scsi driver run last afte the low level and before
> the high level drivers despite being in drivers/i2o. There are some other
> drivers which arent in drivers/scsi too 
>

Maybe you should take a look at the archives before bitching.

Now I'm tired of fixes this and that. Can we agree on
this patch going in when I rename sg_mod.o to sg.o???

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] 2nd go for scsi upper layers + I2O

2000-10-06 Thread Torben Mathiasen

Ok this patch should be diffed correctly. Same things apply:

   apply patch
   copy sd.c st.c sg.c sr.c sr_ioctl.c sr_vendor.c from
   drivers/scsi to drivers/scsi/upper  

The EXPORT_SYMBOL has been removed as Jeff suggested.

TLAN will hopefully follow soon.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -urN linux-test9/Makefile linux/Makefile
--- linux-test9/MakefileThu Oct  5 22:21:00 2000
+++ linux/Makefile  Thu Oct  5 22:24:11 2000
@@ -144,7 +144,13 @@
 DRIVERS-$(CONFIG_ARCNET) += drivers/net/arcnet/arcnet.a
 DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o
 DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o
+
+# Init ordering constraint:
+# scsidrv.o < !drivers/scsi < scsi_upper.o
 DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o
+DRIVERS-$(CONFIG_I2O) += drivers/i2o/i2o.o
+DRIVERS-$(CONFIG_SCSI) += drivers/scsi/upper/scsi_upper.o
+
 DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394.a
 
 ifneq 
($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),)
@@ -171,7 +177,6 @@
 DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a
 DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o
 DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o
-DRIVERS-$(CONFIG_I2O) += drivers/i2o/i2o.o
 DRIVERS-$(CONFIG_IRDA) += drivers/net/irda/irda.o
 DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o
 DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o
diff -urN linux-test9/drivers/block/genhd.c linux/drivers/block/genhd.c
--- linux-test9/drivers/block/genhd.c   Thu Oct  5 22:21:03 2000
+++ linux/drivers/block/genhd.c Thu Oct  5 22:24:11 2000
@@ -27,7 +27,6 @@
 extern void console_map_init(void);
 extern int soc_probe(void);
 extern int atmdev_init(void);
-extern int i2o_init(void);
 extern int cpqarray_init(void);
 extern void ieee1394_init(void);
 
@@ -39,9 +38,6 @@
chr_dev_init();
blk_dev_init();
sti();
-#ifdef CONFIG_I2O
-   i2o_init();
-#endif
 #ifdef CONFIG_BLK_DEV_DAC960
DAC960_Initialize();
 #endif
diff -urN linux-test9/drivers/i2o/i2o_block.c linux/drivers/i2o/i2o_block.c
--- linux-test9/drivers/i2o/i2o_block.c Thu Oct  5 22:21:04 2000
+++ linux/drivers/i2o/i2o_block.c   Thu Oct  5 22:28:24 2000
@@ -46,6 +46,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1591,11 +1592,7 @@
  *  (Just smiley confuses emacs :-)
  */
 
-#ifdef MODULE
-#define i2o_block_init init_module
-#endif
-
-int i2o_block_init(void)
+static int __init i2o_block_init(void)
 {
int i;
 
@@ -1611,9 +1608,8 @@
   MAJOR_NR);
return -EIO;
}
-#ifdef MODULE
+   
printk(KERN_INFO "i2o_block: registered device at major %d\n", MAJOR_NR);
-#endif
 
/*
 *  Now fill in the boiler plate
@@ -1694,13 +1690,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-EXPORT_NO_SYMBOLS;
-MODULE_AUTHOR("Red Hat Software");
-MODULE_DESCRIPTION("I2O Block Device OSM");
-
-void cleanup_module(void)
+static void __exit i2o_block_exit(void)
 {
struct gendisk **gdp;
int i;
@@ -1760,4 +1750,10 @@
break;
 
 }
-#endif
+
+MODULE_AUTHOR("Red Hat Software");
+MODULE_DESCRIPTION("I2O Block Device OSM");
+
+module_init(i2o_block_init);
+module_exit(i2o_block_exit);
+
diff -urN linux-test9/drivers/i2o/i2o_config.c linux/drivers/i2o/i2o_config.c
--- linux-test9/drivers/i2o/i2o_config.cThu Oct  5 22:21:04 2000
+++ linux/drivers/i2o/i2o_config.c  Thu Oct  5 22:46:18 2000
@@ -910,11 +910,7 @@
&config_fops
 }; 
 
-#ifdef MODULE
-int init_module(void)
-#else
-int __init i2o_config_init(void)
-#endif
+static int __init i2o_config_init(void)
 {
printk(KERN_INFO "I2O configuration manager v 0.04.\n");
printk(KERN_INFO "  (C) Copyright 1999 Red Hat Software\n");
@@ -948,9 +944,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-void cleanup_module(void)
+void __exit i2o_config_exit(void)
 {
misc_deregister(&i2o_miscdev);

@@ -961,9 +955,10 @@
if(i2o_buffer)
kfree(i2o_buffer);
 }
+
+module_init(i2o_config_init);
+module_exit(i2o_config_exit);
  
-EXPORT_NO_SYMBOLS;
 MODULE_AUTHOR("Red Hat Software");
 MODULE_DESCRIPTION("I2O Configuration");
 
-#endif
diff -urN linux-test9/drivers/i2o/i2o_core.c linux/drivers/i2o/i2o_core.c
--- linux-test9/drivers/i2o/i2o_core.c  Thu Oct  5 22:21:04 2000
+++ linux/drivers/i2o/i2o_core.cThu Oct  5 22:24:11 2000
@@ -19,7 +19,7 @@
  * Auvo Häkkinen <[EMAIL PROTECTED]> 
  * Deepak Saxena <[EMAIL PROTECTED]> 
  * Boji T Kannanthanam <[EMAIL PROTECTED]>
- * 
+ * Torben Mathiasen <[EMAIL PROTECTED]> 
  */
 
 #include 
@@ -119,7 +119,6 @@
  */
 static spinlock_t i2o_dev_lock = SPIN_LOC

Re: Majordomo Problems?

2000-10-05 Thread Torben Mathiasen

On Thu, Oct 05 2000, Post, Mark K wrote:
> I don't know if anyone else is seeing this, but I'm getting multiple copies
> of
> a lot of the emails to this list.  For some, it's two copies, for others it
> is up
> to four copies.  Am I the only one seeing this?
>

I have the same problems, thought it was because my resubscription went
wrong.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] tlan timer fix on tytso's list.

2000-10-05 Thread Torben Mathiasen

On Thu, Oct 05 2000, Jeff Garzik wrote:
> * return value from pci_module_init and TLan_EisaProbe is never checked.
> If you don't care about the return value, just remove 'rc' var.
>

I was going to have some code here, but haven't had the time. I'll
remove it.

> * does TLan_EisaProbe work?  It looks like request_region may be called
> twice for the same I/O region, once in TLan_EisaProbe, and once in
> TLan_Init (via TLan_probe1).

Yes it works. Check the code again: if (!priv->is_eisa)


Jeff I'll make the other changes you suggested.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Link order of drivers outside drivers/scsi

2000-10-05 Thread Torben Mathiasen

On Thu, Oct 05 2000, Jeff Garzik wrote:
> Please include your patches inline so we can easily quote them via the
> standard e-mail reply feature.
> 
> i2o_block.c: you don't need EXPORT_NO_SYMBOLS (yes, I know it was there
> before)

I' remove it.

> sg.c: ug.  the worst part of the patch.  you revert some of doug
> gilbert's correct changes, which went in after test9-pre9.  This is
> way wrong, so maybe it's a version/diff problem?
>

My fault. It seems I've had and old sg.c in my tree. Sorry should
have double checked.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] tlan timer fix on tytso's list.

2000-10-05 Thread Torben Mathiasen

On Thu, Oct 05 2000, Tigran Aivazian wrote:
> Hi Torben,
> 
> Just a tiny comment - maybe you noticed the recent "trend" in moving
> zero-initialised data out of data into where it belongs, i.e. bss. Your
> patch does a little bit to the contrary, namely bits like:
> 
> +static struct net_device   *TLan_Eisa_Devices = NULL;
> 
> 
> 
> +static int tlan_have_pci = 0;
> +static int tlan_have_eisa = 0;
>

True. I'll submit a new patch ASAP.

Thanks for noticing Tigran.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] Link order of drivers outside drivers/scsi

2000-10-05 Thread Torben Mathiasen

Linus,

This patch is a resend of my other link fix patch that didn't get
in test9-pre9. I assume this is because of some other changes
to upper layer scsi drivers.

This patch is a lot smaller because the "moving files around" part
has been omittet.

So please apply this patch and do the following:

copy sd.c sg.c sr.c sr_ioctl.c sr_vendor st.c to
drivers/scsi/upper

I really hope you don't mind this way of applying a patch, so if
you do please let me know. The patch still includes the I2O
fixes (verified by Alan).


BTW. To fix other drivers outside drivers/scsi to link corretly
they need the same changes as I2O: 

convert to initcalls
move them in top makefile.

I just need to identify which drivers needs this.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -urN linux-test9/Makefile linux/Makefile
--- linux-test9/MakefileTue Oct  3 23:39:53 2000
+++ linux/Makefile  Tue Oct  3 23:38:41 2000
@@ -144,7 +144,13 @@
 DRIVERS-$(CONFIG_ARCNET) += drivers/net/arcnet/arcnet.a
 DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o
 DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o
+
+# Init ordering constraint:
+# scsidrv.o < !drivers/scsi < scsi_upper.o
 DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o
+DRIVERS-$(CONFIG_I2O) += drivers/i2o/i2o.o
+DRIVERS-$(CONFIG_SCSI) += drivers/scsi/upper/scsi_upper.o
+
 DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394.a
 
 ifneq 
($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),)
@@ -171,7 +177,6 @@
 DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a
 DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o
 DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o
-DRIVERS-$(CONFIG_I2O) += drivers/i2o/i2o.o
 DRIVERS-$(CONFIG_IRDA) += drivers/net/irda/irda.o
 DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o
 DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o
diff -urN linux-test9/drivers/block/genhd.c linux/drivers/block/genhd.c
--- linux-test9/drivers/block/genhd.c   Tue Oct  3 23:39:58 2000
+++ linux/drivers/block/genhd.c Tue Oct  3 23:38:41 2000
@@ -27,7 +27,6 @@
 extern void console_map_init(void);
 extern int soc_probe(void);
 extern int atmdev_init(void);
-extern int i2o_init(void);
 extern int cpqarray_init(void);
 extern void ieee1394_init(void);
 
@@ -39,9 +38,6 @@
chr_dev_init();
blk_dev_init();
sti();
-#ifdef CONFIG_I2O
-   i2o_init();
-#endif
 #ifdef CONFIG_BLK_DEV_DAC960
DAC960_Initialize();
 #endif
diff -urN linux-test9/drivers/i2o/i2o_block.c linux/drivers/i2o/i2o_block.c
--- linux-test9/drivers/i2o/i2o_block.c Tue Oct  3 23:40:13 2000
+++ linux/drivers/i2o/i2o_block.c   Tue Oct  3 23:38:41 2000
@@ -46,6 +46,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -108,6 +109,7 @@
 #define I2O_BSA_DSC_VOLUME_CHANGED  0x000D
 #define I2O_BSA_DSC_TIMEOUT 0x000E
 
+
 /*
  * Some of these can be made smaller later
  */
@@ -1591,11 +1593,7 @@
  *  (Just smiley confuses emacs :-)
  */
 
-#ifdef MODULE
-#define i2o_block_init init_module
-#endif
-
-int i2o_block_init(void)
+static int __init i2o_block_init(void)
 {
int i;
 
@@ -1611,9 +1609,8 @@
   MAJOR_NR);
return -EIO;
}
-#ifdef MODULE
+   
printk(KERN_INFO "i2o_block: registered device at major %d\n", MAJOR_NR);
-#endif
 
/*
 *  Now fill in the boiler plate
@@ -1694,13 +1691,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-EXPORT_NO_SYMBOLS;
-MODULE_AUTHOR("Red Hat Software");
-MODULE_DESCRIPTION("I2O Block Device OSM");
-
-void cleanup_module(void)
+static void __exit i2o_block_exit(void)
 {
struct gendisk **gdp;
int i;
@@ -1760,4 +1751,11 @@
break;
 
 }
-#endif
+
+EXPORT_NO_SYMBOLS;
+MODULE_AUTHOR("Red Hat Software");
+MODULE_DESCRIPTION("I2O Block Device OSM");
+
+module_init(i2o_block_init);
+module_exit(i2o_block_exit);
+
diff -urN linux-test9/drivers/i2o/i2o_config.c linux/drivers/i2o/i2o_config.c
--- linux-test9/drivers/i2o/i2o_config.cTue Oct  3 23:40:13 2000
+++ linux/drivers/i2o/i2o_config.c  Tue Oct  3 23:38:41 2000
@@ -910,11 +910,7 @@
&config_fops
 }; 
 
-#ifdef MODULE
-int init_module(void)
-#else
-int __init i2o_config_init(void)
-#endif
+static int __init i2o_config_init(void)
 {
printk(KERN_INFO "I2O configuration manager v 0.04.\n");
printk(KERN_INFO "  (C) Copyright 1999 Red Hat Software\n");
@@ -948,9 +944,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-void cleanup_module(void)
+void __exit i2o_config_exit(void)
 {
misc_deregister(&i2o_miscdev);

@@ -961,9 +955,11 @@
if(i2o_buffer)
kfree(i2o_buffer);
 }
+
+module_init(i2o_config_init);
+module_exit(i2o_config_exit);
  
 EXPORT_NO_SYMBOLS;

[PATCH] tlan timer fix on tytso's list.

2000-10-05 Thread Torben Mathiasen

Linus,

This patch includes the following:

Fixes the timer being added twice bug (on tytso's list)
Convertes driver to new PCI layout
Adds support for EISA based TLAN adapters.

Patch has been tested for over a month now and is ready for 2.4.

Against final test9.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/dontdiff linux-test9/drivers/net/tlan.c 
linux/drivers/net/tlan.c
--- linux-test9/drivers/net/tlan.c  Tue Oct  3 23:39:57 2000
+++ linux/drivers/net/tlan.cWed Oct  4 21:33:06 2000
@@ -98,14 +98,45 @@
  * v1.8a May 28, 2000   - Minor updates.
  *
  * v1.9 July 25, 2000   - Fixed a few remaining Full-Duplex issues.
- *  - Updated with timer fixes from Andrew Morton.
- *  - Fixed module race in TLan_Open.
- *  - Added routine to monitor PHY status.
- *  - Added activity led support for Proliant devices.
+ *  - Updated with timer fixes from Andrew Morton.
+ *  - Fixed module race in TLan_Open.
+ *  - Added routine to monitor PHY status.
+ *  - Added activity led support for Proliant devices.
+ *
+ * v1.10 Aug 30, 2000   - Added support for EISA based tlan controllers 
+ *like the Compaq NetFlex3/E. 
+ *  - Rewrote tlan_probe to better handle multiple
+ *bus probes. Probing and device setup is now
+ *done through TLan_Probe and TLan_init_one. Actual
+ *hardware probe is done with kernel API and 
+ *TLan_EisaProbe.
+ *  - Adjusted debug information for probing.
+ *  - Fixed bug that would cause general debug information 
+ *to be printed after driver removal. 
+ *  - Added transmit timeout handling.
+ *  - Fixed OOM return values in tlan_probe. 
+ *  - Fixed possible mem leak in tlan_exit 
+ *(now tlan_remove_one).
+ *  - Fixed timer bug in TLan_phyMonitor.
+ *  - This driver version is alpha quality, please
+ *send me any bug issues you may encounter.
+ *
+ * v1.11 Aug 31, 2000   - Do not try to register irq 0 if no irq line was 
+ *set for EISA cards.
+ *  - Added support for NetFlex3/E with nibble-rate
+ *10Base-T PHY. This is untestet as I haven't got
+ *one of these cards.
+ *  - Fixed timer being added twice.
+ *  - Disabled PhyMonitoring by default as this is
+ *work in progress. Define MONITOR to enable it.
+ *  - Now we don't display link info with PHYs that
+ *doesn't support it (level1).
+ *  - Incresed tx_timeout beacuse of auto-neg.
+ *  - Adjusted timers for forced speeds.
  *
  ***/
 
-
+
 #include 
 
 #include "tlan.h"
@@ -121,8 +152,9 @@
 typedef u32 (TLanIntVectorFunc)( struct net_device *, u16 );
 
 
+/* For removing EISA devices */
+static struct net_device   *TLan_Eisa_Devices = NULL;
 
-static struct net_device   *TLanDevices = NULL;
 static int TLanDevicesInstalled = 0;
 
 /* Force speed, duplex and aui settings */
@@ -138,13 +170,18 @@
 MODULE_PARM(debug, "i");
 EXPORT_NO_SYMBOLS;
 
+/* Define this to enable Link beat monitoring */
+#undef MONITOR
+
 /* Turn on debugging. See linux/Documentation/networking/tlan.txt for details */
 static  intdebug = 0;
 
 static int bbuf = 0;
 static u8  *TLanPadBuffer;
 static charTLanSignature[] = "TLAN";
-static const char *tlan_banner = "ThunderLAN driver v1.9\n";
+static const char *tlan_banner = "ThunderLAN driver v1.11\n";
+static int tlan_have_pci = 0;
+static int tlan_have_eisa = 0;
 
 const char *media[] = {
"10BaseT-HD ", "10BaseT-FD ","100baseTx-HD ", 
@@ -153,103 +190,73 @@
 
 int media_map[] = { 0x0020, 0x0040, 0x0080, 0x0100, 0x0200,};
 
-static TLanAdapterEntry TLanAdapterList[] __initdata = {
-   { PCI_VENDOR_ID_COMPAQ, 
- PCI_DEVICE_ID_NETELLIGENT_10,
- "Compaq Netelligent 10 T PCI UTP",
- TLAN_ADAPTER_ACTIVITY_LED,
- 0x83
-   },
-  

Re: aic7xxx problem with 2.4.0-test8

2000-10-01 Thread Torben Mathiasen

On Mon, Oct 02 2000, Pierfrancesco Caci wrote:
> :-> "Pierfrancesco" == Pierfrancesco Caci <[EMAIL PROTECTED]> writes:
> 
> 
> > Now I'm going to try the test9-pre7 stuff :-)
> 
> 
> 
> Tested. It works as a module now. Didn't try to actually _use_ the
> scanner.
> 
> What was the problem, then ?
>

The scsi routines had an overhaul that wasn't completely fixed in test8.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



For Alan, i2o updates.

2000-10-01 Thread Torben Mathiasen

Sorry for the disturbance folks, but my mailer currently has 
something against Alan.

Alan,

This is the i2o patch I'm going to put into the bigger "move-scsi
things-around" patch. This is just for you to verify.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -urN --exclude-from=/root/torben linux-test9p7-patched/drivers/block/genhd.c 
linux/drivers/block/genhd.c
--- linux-test9p7-patched/drivers/block/genhd.c Sat Sep 30 20:47:06 2000
+++ linux/drivers/block/genhd.c Thu Sep 28 17:18:42 2000
@@ -27,7 +27,6 @@
 extern void console_map_init(void);
 extern int soc_probe(void);
 extern int atmdev_init(void);
-extern int i2o_init(void);
 extern int cpqarray_init(void);
 extern void ieee1394_init(void);
 
@@ -39,9 +38,6 @@
chr_dev_init();
blk_dev_init();
sti();
-#ifdef CONFIG_I2O
-   i2o_init();
-#endif
 #ifdef CONFIG_BLK_DEV_DAC960
DAC960_Initialize();
 #endif
diff -urN --exclude-from=/root/torben linux-test9p7-patched/drivers/i2o/i2o_block.c 
linux/drivers/i2o/i2o_block.c
--- linux-test9p7-patched/drivers/i2o/i2o_block.c   Fri Jul  7 04:24:51 2000
+++ linux/drivers/i2o/i2o_block.c   Sat Sep 30 17:20:02 2000
@@ -46,6 +46,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -108,6 +109,7 @@
 #define I2O_BSA_DSC_VOLUME_CHANGED  0x000D
 #define I2O_BSA_DSC_TIMEOUT 0x000E
 
+
 /*
  * Some of these can be made smaller later
  */
@@ -1591,11 +1593,7 @@
  *  (Just smiley confuses emacs :-)
  */
 
-#ifdef MODULE
-#define i2o_block_init init_module
-#endif
-
-int i2o_block_init(void)
+static int __init i2o_block_init(void)
 {
int i;
 
@@ -1611,9 +1609,8 @@
   MAJOR_NR);
return -EIO;
}
-#ifdef MODULE
+   
printk(KERN_INFO "i2o_block: registered device at major %d\n", MAJOR_NR);
-#endif
 
/*
 *  Now fill in the boiler plate
@@ -1694,13 +1691,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-EXPORT_NO_SYMBOLS;
-MODULE_AUTHOR("Red Hat Software");
-MODULE_DESCRIPTION("I2O Block Device OSM");
-
-void cleanup_module(void)
+static void __exit i2o_block_exit(void)
 {
struct gendisk **gdp;
int i;
@@ -1760,4 +1751,11 @@
break;
 
 }
-#endif
+
+EXPORT_NO_SYMBOLS;
+MODULE_AUTHOR("Red Hat Software");
+MODULE_DESCRIPTION("I2O Block Device OSM");
+
+module_init(i2o_block_init);
+module_exit(i2o_block_exit);
+
diff -urN --exclude-from=/root/torben linux-test9p7-patched/drivers/i2o/i2o_config.c 
linux/drivers/i2o/i2o_config.c
--- linux-test9p7-patched/drivers/i2o/i2o_config.c  Thu Jul 13 06:58:42 2000
+++ linux/drivers/i2o/i2o_config.c  Thu Sep 28 23:54:09 2000
@@ -910,11 +910,7 @@
&config_fops
 }; 
 
-#ifdef MODULE
-int init_module(void)
-#else
-int __init i2o_config_init(void)
-#endif
+static int __init i2o_config_init(void)
 {
printk(KERN_INFO "I2O configuration manager v 0.04.\n");
printk(KERN_INFO "  (C) Copyright 1999 Red Hat Software\n");
@@ -948,9 +944,7 @@
return 0;
 }
 
-#ifdef MODULE
-
-void cleanup_module(void)
+void __exit i2o_config_exit(void)
 {
misc_deregister(&i2o_miscdev);

@@ -961,9 +955,11 @@
if(i2o_buffer)
kfree(i2o_buffer);
 }
+
+module_init(i2o_config_init);
+module_exit(i2o_config_exit);
  
 EXPORT_NO_SYMBOLS;
 MODULE_AUTHOR("Red Hat Software");
 MODULE_DESCRIPTION("I2O Configuration");
 
-#endif
diff -urN --exclude-from=/root/torben linux-test9p7-patched/drivers/i2o/i2o_core.c 
linux/drivers/i2o/i2o_core.c
--- linux-test9p7-patched/drivers/i2o/i2o_core.cMon Jun 19 22:30:56 2000
+++ linux/drivers/i2o/i2o_core.cSat Sep 30 18:56:33 2000
@@ -19,7 +19,7 @@
  * Auvo Häkkinen <[EMAIL PROTECTED]> 
  *     Deepak Saxena <[EMAIL PROTECTED]> 
  * Boji T Kannanthanam <[EMAIL PROTECTED]>
- * 
+ * Torben Mathiasen <[EMAIL PROTECTED]> 
  */
 
 #include 
@@ -119,7 +119,6 @@
  */
 static spinlock_t i2o_dev_lock = SPIN_LOCK_UNLOCKED;
 
-#ifdef MODULE
 /* 
  * Function table to send to bus specific layers
  * See  for explanation of this
@@ -134,12 +133,9 @@
i2o_delete_controller
 };
 
-#ifdef CONFIG_I2O_PCI_MODULE
 extern int i2o_pci_core_attach(struct i2o_core_func_table *);
 extern void i2o_pci_core_detach(void);
-#endif /* CONFIG_I2O_PCI_MODULE */
 
-#endif /* MODULE */
 
 /*
  * Structures and definitions for synchronous message posting.
@@ -3115,8 +3111,6 @@
 }
 
 
-#ifdef MODULE
-
 EXPORT_SYMBOL(i2o_controller_chain);
 EXPORT_SYMBOL(i2o_num_controllers);
 EXPORT_SYMBOL(i2o_find_controller);
@@ -3152,8 +3146,7 @@
 MODULE_AUTHOR("Red Hat Software");
 MODULE_DESCRIPTION("I2O Core");
 
-
-int init_module(void)
+static int __init init_i2o

Re: aic7xxx problem with 2.4.0-test8

2000-10-01 Thread Torben Mathiasen

On Sun, Oct 01 2000, Pierfrancesco Caci wrote:
> 
> When modprobing for this module, my machine gets stuck with no
> messages whatsoever in the log. Only Alt-SysRq-R works (the other
> combinations, while outputting something to the screen, do not
> actually terminate the tasks or remount r/o the filesystem).
> The last thing on the screen was the output of the probe of the scsi
> chain on the aic adapter. It just had the time to print the name of
> the scanner that it is connected to it and then nothing more.
> I still can switch between the different vc, but no input is accepted.
> 
> Any hints?
>

Could you give test9-pre7 a try?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: SA_INTERRUPT

2000-10-01 Thread Torben Mathiasen

On Sun, Oct 01 2000, Torben Mathiasen wrote:
> On Sat, Sep 30 2000, Sandy Harris wrote:
> > Don Becker has some text at:
> > 
> > http://www.scyld.com/expert/irq-conflict.html
> > 
> > which includes a section:
> > 
> > > Why SA_INTERRUPT in the SCSI drivers is a Bad Thing
> > 
> > > ... it could potentially have a very negative impact on all other 
>interrupt-driven
> > > kernel service. That includes just about everything ...
> > >
> > > I believe that very few complex devices can be correctly run by a device driver
> > > that uses SA_INTERRUPT.
> > 
> > So I grepped drivers/*/*.c  in the nearest handy kernel source, which happened to 
>be
> > 2.2.16, and found 113 uses of SA_INTEERUPT, 64 in drivers/scsi/*.c and the rest 
>spread
> > around.
> > 
> > Do we have a problem? Should it be fixed as part of the cleanup before 2.4.0?
> 
> No. SA_INTERRUPT is a must today. Its much better to just do BIOS tweaks to force
> irq assignments. Thats just IMHO.
>

Ooops. Just saw Andrea's mail. Don't know what I was smoking. SA_INTERRUPT Not 
SA_SHIRQ.

Sorry, for the crap.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: SA_INTERRUPT

2000-10-01 Thread Torben Mathiasen

On Sat, Sep 30 2000, Sandy Harris wrote:
> Don Becker has some text at:
> 
> http://www.scyld.com/expert/irq-conflict.html
> 
> which includes a section:
> 
> > Why SA_INTERRUPT in the SCSI drivers is a Bad Thing
> 
> > ... it could potentially have a very negative impact on all other interrupt-driven
> > kernel service. That includes just about everything ...
> >
> > I believe that very few complex devices can be correctly run by a device driver
> > that uses SA_INTERRUPT.
> 
> So I grepped drivers/*/*.c  in the nearest handy kernel source, which happened to be
> 2.2.16, and found 113 uses of SA_INTEERUPT, 64 in drivers/scsi/*.c and the rest 
>spread
> around.
> 
> Do we have a problem? Should it be fixed as part of the cleanup before 2.4.0?

No. SA_INTERRUPT is a must today. Its much better to just do BIOS tweaks to force
irq assignments. Thats just IMHO.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] link-order of drivers outside drivers/scsi (i2o)

2000-09-28 Thread Torben Mathiasen

On Thu, Sep 28 2000, Alan Cox wrote:
> > Note that for this to work properly, i2o (and the others) needs to 
> > be converted to initialization by initcalls. This is trivial? or do the module
> > case differ from builtin?
> 
> It shouldnt be a problem. The order inside of i2o just needs to start with core
> and pci.
>

Good. I'm on it..

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] link-order of drivers outside drivers/scsi (i2o)

2000-09-28 Thread Torben Mathiasen

Alan and others,

The following patch changes the link order of i2o to link:

scsi core - hosts - i2o - upper layers.

The patch moves things around a bit, like all upper layer drivers
going into scsi/upper. Other drivers outside drivers/scsi can 
be changed to link in after the other hosts by just moving them
in the top Makefile.

Note that for this to work properly, i2o (and the others) needs to 
be converted to initialization by initcalls. This is trivial? or do the module
case differ from builtin?

This patch is pretty big(625Kbytes), so grab it from:

http://tlan.kernel.dk/div/scsi_upper4.diff

It includes a lot of work from Michael Chastain.

A typical patched kernel compile with everyting built into the kernel looks 
like this:

drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/i2o/i2o.o 
drivers/scsi/upper/scsi_upper.o drivers/...

The scsi_upper.o object includes st, sr, sg, sd.


Have a nice day.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Michael Elizabeth Chastain wrote:
> torben> core-hosts/i2o-upper.
> 
> Ok, I understand the problem.
> 
> Can you elaborate some more on exactly which files go in "core",
> "hosts", and "upper"?  My understanding is:
> 
> # drivers/scsi
> scsi-core-files  := scsi_mod.o scsi_syms.o
> scsi-hosts-files := ... everything not in core and upper ...
> scsi-upper-files := st.o sd_mod.o sr_mod.o sg.o
> 
> # i2o
> i2o-files:= %.o
>

Eaxctly. The core and upperlayers are ok now. You just need 
to get all hosts adapters into hosts.o. Everything is there
except those outside drivers/scsi. It would be great if
someone with an i2o adapter could verify any changes.
Please note I already sorted the hosts.o files in the drivers/scsi/Makefile. 

> I can do this in the top Makefile by declaring lists like the above
> using $(filter) and $(filter-out).  The hard part is going to be defining
> "scsi-hosts-files" to work properly.  I think I will need to add a few
> more lines to drivers/scsi/Makefile and make one more multi.  Or maybe
> three more multis.

Yeah I've been thinking of doing this, but was afraid to srew it up. Give
it a try, and lets see what Linus thinks. 

BTW, while you are at it, could you rename sg.o to sg_mod.o. It would
look better...

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Michael Elizabeth Chastain wrote:
> Torben Mathiasen wrote:
> 
> > I can't seem to find a clean way of getting the drivers outside
> > "drivers/scsi" to link _after_ the other low-level drivers.
> 
> Can you characterize the problem in more detail for me?  That is,
> exactly what link order constraints you are trying to obey.
> 
> I am thinking about this:
> 
> # Makefile
> link-first := drivers/scsi/foo.o drivers/i2o/%o drivers/scsi/bar.o
> link-last :=
> 
> DRIVERS := \
>   $(filter $(link-first), $(DRIVERS)) \
>   $(filter-out $(link-first) $(link-last), $(DRIVERS)) \
>   $(filter $(link-last), $(DRIVERS))
>

Okay, in pre5 I got the scsi system to link

core-hosts-upperlayers.

We need to get the drivers outside drivers/scsi to link
as the _last_ ones in the host section:

core-hosts/i2o-upper.

Now this is difficult without moving things around, which is
bad. I'm not a makefile guru, so if you have any ideas go
for it. Alan problaly wants to verify the i2o stuff...

The perfect solution would be to remove the link order
dependency. 

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [2.4.0-test9-pre5] SCSI still broken, trident/mixer still broken

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Douglas Gilbert wrote:
> Torben Mathiasen wrote:
> > 
> > Ok, small patch cooked up. Not tested, not compiled. Give
> > it a try, and if it works please send it off to Linus.
> > I really need to get some work done on a project...
> 
> Here is a very similar patch that has been tested
> [with a USB zip drive using sg (builtin) to read it].
> It worked and the /proc/scsi/sg directory was
> properly populated.
>

Looks good, but you should make the init functions static.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [2.4.0-test9-pre5] SCSI still broken, trident/mixer still broken

2000-09-21 Thread Torben Mathiasen

Ok, small patch cooked up. Not tested, not compiled. Give
it a try, and if it works please send it off to Linus.
I really need to get some work done on a project...


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/torben /opt/kernel/kernels/linux/drivers/scsi/sg.c 
linux/drivers/scsi/sg.c
--- /opt/kernel/kernels/linux/drivers/scsi/sg.c Thu Sep 21 21:29:44 2000
+++ linux/drivers/scsi/sg.c Thu Sep 21 21:35:46 2000
@@ -1298,18 +1298,18 @@
 }
 
 #ifdef MODULE
-
 MODULE_PARM(def_reserved_size, "i");
 MODULE_PARM_DESC(def_reserved_size, "size of buffer reserved for each fd");
+#endif
 
-int init_module(void) {
+static int __init init_sg(void) {
 if (def_reserved_size >= 0)
sg_big_buff = def_reserved_size;
 sg_template.module = THIS_MODULE;
 return scsi_register_module(MODULE_SCSI_DEV, &sg_template);
 }
 
-void cleanup_module( void)
+static void __exit exit_sg( void)
 {
 #ifdef CONFIG_PROC_FS
 sg_proc_cleanup();
@@ -1324,7 +1324,9 @@
 }
 sg_template.dev_max = 0;
 }
-#endif /* MODULE */
+
+module_init(init_sg);
+module_exit(exit_sg);
 
 
 #if 0



Re: [2.4.0-test9-pre5] SCSI still broken, trident/mixer still broken

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Douglas Gilbert wrote:

[delete]

> > At one point before I followed some of the debug/logging commands listed
> > at the top of sg.c and got an Oops as well...
> 
> Seems as though I've got a lot of retesting to do.
>

Please note that the changes to the scsi midlayer requires all
upper layers to use the module_init/exit functions. We do 
_not_ explicitly call the layers init funtions anymore.
Adding the module stuff will probaly fix most problems
(asuming module and builtin do not differ). The link
order should make sure everything gets called in order.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [2.4.0-test9-pre5] SCSI still broken, trident/mixer still broken

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Douglas Gilbert wrote:

[deleted]

> It is not clear to me what "hacking" sg requires as
> Torben Mathiasen suggested in his response. This seems
> like a mid level problem. I'll check with my scsi
> scanner this evening.
>

Well first of all the sg driver needs to be updated the
same way sd and sr was.

> 
> Other random scsi notes:
>   - scsi modules were completely broken in 2.4.0-test9-pre4
> but worked again in pre5 [Makefile hacks?]
[snip]

Yes, check the scsi scanning thread, and the patch I sent 
yesterday.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [2.4.0-test9-pre5] SCSI still broken, trident/mixer still broken

2000-09-21 Thread Torben Mathiasen

On Thu, Sep 21 2000, Simon Kirby wrote:
> ... on test9pre5 and test9pre3:
> 
> (scsi0:6:0) Synchronous Data Transfer Request was rejected
>   Vendor:   Model: Scanner   Rev: 1.70
>   Type:   ScannerANSI SCSI revision: 04
> (scsi0:0:3:0) Synchronous at 8.0 Mbyte/sec, offset 31.
>   Vendor: YAMAHAModel: CRW4416S  Rev: 1.0e
>   Type:   CD-ROM ANSI SCSI revision: 02
> Detected scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0
> sr0: scsi3-mmc drive: 16x/16x writer cd/rw xa/form2 cdda tray
>

I suspect this to only be a minor issue. sg needs the same overhauls
as the other layers. Unfortunately I won't be doing much hacking 
today, so if someone else could take a look. 
Otherwise I'll take a look, sometime tonight.

Does it work when using modules?


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] Scsi scanning fixes

2000-09-20 Thread Torben Mathiasen

Linus and others,

Patch attached that should fix some of the problems with the new
scsi scanning:

devfs registration should be ok now with both builtin and module.
link order changed to reflect hosts.c + minor additions.
minor cleanups.

First of all, please don't yell too loud about the Makefile changes. I 
really stink at this, but it seems to work for me. Tested different
configs, with different hosts. Layers get linked: core - hosts - upper
I'm sure the Makefile stuff can be done a lot better, so someone
please do if my attempt is crap. I had to link scsi_syms separately
in order not to get unresolved symbols with modules. 

Also, those of you that have special needs with regards to host order
initialization, please let us know. Please specify which driver 
runs what controller.

Thanks

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/torben linux-2.4.0-test9p4/drivers/scsi/Makefile 
linux/drivers/scsi/Makefile
--- linux-2.4.0-test9p4/drivers/scsi/Makefile   Wed Sep 20 16:52:35 2000
+++ linux/drivers/scsi/Makefile Wed Sep 20 17:12:36 2000
@@ -4,6 +4,8 @@
 # 30 May 2000, Christoph Hellwig <[EMAIL PROTECTED]>
 # Rewritten to use lists instead of if-statements.
 #
+# 20 Sep 2000, Torben Mathiasen <[EMAIL PROTECTED]>
+# Changed link order to reflect new scsi initialization.
 
 O_TARGET := scsidrv.o
 
@@ -22,25 +24,14 @@
 endif
 
 export-objs:= scsi_syms.o
-list-multi := scsi_mod.o sr_mod.o initio.o a100u2w.o
+list-multi := scsi_mod.o initio.o a100u2w.o
 
 CFLAGS_aha152x.o =   -DAHA152X_STAT -DAUTOCONF
 CFLAGS_gdth.o= # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
 CFLAGS_seagate.o =   -DARBITRATE -DPARITY -DSEAGATE_USE_ASM
 
-obj-$(CONFIG_SCSI) += scsi_mod.o
-obj-$(CONFIG_CHR_DEV_ST)   += st.o
-obj-$(CONFIG_BLK_DEV_SD)   += sd_mod.o
-obj-$(CONFIG_BLK_DEV_SR)   += sr_mod.o
-obj-$(CONFIG_CHR_DEV_SG)   += sg.o
+obj-$(CONFIG_SCSI) += scsi_mod.o   scsi_syms.o
 
-obj-$(CONFIG_SCSI_ADVANSYS)+= advansys.o
-obj-$(CONFIG_SCSI_PCI2000) += pci2000.o
-obj-$(CONFIG_SCSI_PCI2220I)+= pci2220i.o
-obj-$(CONFIG_SCSI_PSI240I) += psi240i.o
-obj-$(CONFIG_MVME16x_SCSI) += mvme16x.o53c7xx.o
-obj-$(CONFIG_BVME6000_SCSI)+= bvme6000.o   53c7xx.o
-obj-$(CONFIG_SCSI_SIM710)  += sim710.o
 obj-$(CONFIG_A4000T_SCSI)  += amiga7xx.o   53c7xx.o
 obj-$(CONFIG_A4091_SCSI)   += amiga7xx.o   53c7xx.o
 obj-$(CONFIG_BLZ603EPLUS_SCSI) += amiga7xx.o   53c7xx.o
@@ -48,8 +39,6 @@
 obj-$(CONFIG_A3000_SCSI)   += a3000.o  wd33c93.o
 obj-$(CONFIG_A2091_SCSI)   += a2091.o  wd33c93.o
 obj-$(CONFIG_GVP11_SCSI)   += gvp11.o  wd33c93.o
-obj-$(CONFIG_SCSI_SGIWD93) += sgiwd93.owd33c93.o
-obj-$(CONFIG_SCSI_MCA_53C9X)   += NCR53C9x.o   mca_53c9x.o
 obj-$(CONFIG_CYBERSTORM_SCSI)  += NCR53C9x.o   cyberstorm.o
 obj-$(CONFIG_CYBERSTORMII_SCSI)+= NCR53C9x.o   cyberstormII.o
 obj-$(CONFIG_BLZ2060_SCSI) += NCR53C9x.o   blz2060.o
@@ -58,69 +47,82 @@
 obj-$(CONFIG_OKTAGON_SCSI) += NCR53C9x.o   oktagon_esp.o   oktagon_io.o
 obj-$(CONFIG_ATARI_SCSI)   += atari_scsi.o
 obj-$(CONFIG_MAC_SCSI) += mac_scsi.o
-obj-$(CONFIG_SUN3_SCSI)+= sun3_scsi.o
 obj-$(CONFIG_SCSI_MAC_ESP) += mac_esp.oNCR53C9x.o
-obj-$(CONFIG_SCSI_PPA) += ppa.o
-obj-$(CONFIG_SCSI_IMM) += imm.o
-obj-$(CONFIG_SCSI_QLOGIC_FAS)  += qlogicfas.o
-obj-$(CONFIG_SCSI_QLOGIC_ISP)  += qlogicisp.o 
-obj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o 
-obj-$(CONFIG_SCSI_ACARD)   += atp870u.o
-obj-$(CONFIG_SCSI_INITIO)  += initio.o
-obj-$(CONFIG_SCSI_INIA100) += a100u2w.o
-obj-$(CONFIG_SCSI_QLOGIC_FC)   += qlogicfc.o 
+obj-$(CONFIG_SUN3_SCSI)+= sun3_scsi.o
+obj-$(CONFIG_MVME16x_SCSI) += mvme16x.o53c7xx.o
+obj-$(CONFIG_BVME6000_SCSI)+= bvme6000.o   53c7xx.o
+obj-$(CONFIG_SCSI_SIM710)  += sim710.o
+obj-$(CONFIG_SCSI_ADVANSYS)+= advansys.o
+obj-$(CONFIG_SCSI_PCI2000) += pci2000.o
+obj-$(CONFIG_SCSI_PCI2220I)+= pci2220i.o
+obj-$(CONFIG_SCSI_PSI240I) += psi240i.o
+obj-$(CONFIG_SCSI_BUSLOGIC)+= BusLogic.o
+obj-$(CONFIG_SCSI_U14_34F) += u14-34f.o
+obj-$(CONFIG_SCSI_ULTRASTOR)   += ultrastor.o
 obj-$(CONFIG_SCSI_AHA152X) += aha152x.o
 obj-$(CONFIG_SCSI_AHA1542) += aha1542.o
 obj-$(CONFIG_SCSI_AHA1740) += aha1740.o
 obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx.o
 obj-$(CONFIG_SCSI_IPS) += ips.o
-obj-$(CONFIG_SCSI_DC390T)  += tmscsim.o
-obj-$(CONFIG_SCSI_AM53C974)+= AM53C974.o
-obj-$(CONFIG_SCSI_BUSLOGIC)+= BusLogic.o
-obj-$(CONFIG_SCSI_EATA_DMA)+= eata_dma.o
-obj-$(CONFIG_SCSI_EATA_PIO)+= eata_pio.o
-obj-$(CONFIG_SCSI_U14_34F) += u14-34f.o
-obj-$(CONFIG_SCSI_SUNESP)  += esp.o
-obj-$(CONFIG_SCSI_QLOGICPTI)   += qlogicpti.o
-obj-$(CONFIG_SCSI_MESH)+= mesh.o
-obj-$(CONFIG_SCSI_MAC

Re: [PATCH] Re: SCSI scanning

2000-09-19 Thread Torben Mathiasen

On Tue, Sep 19 2000, Eric Youngdale wrote:
 
> 1) SCSI core.
> 2) low-level drivers (in same order as specified in hosts.c).
> 3) upper level drivers.
> 
 
Okay, I've just spent a couple of hours browsing through the scsi code, 
compiling different configs, and trying to figure out what to do with
the Makefile stuff. 

I can't seem to find a clean way of getting the drivers outside "drivers/scsi"
to link _after_ the other low-level drivers. My linux Makefile abilities is
limited though, so if someone with the knowledge would do what Eric requests
above please. We will probaly have to move some thing around, and that would be a
_bad_ move at this point I guess.

Now as I see it we have a few things we also need to fix:

DMA-POOL:
Someone on lkm reported getting low on dma-pool memory when using scsi as
builtin. Now Eric, how big is the difference between the two cases (module vs.
builtin) in the old scsi code? We use the module case for allocating dma mem 
now. I guess the module case tries to alloc as little as possible in order to
not hit fragmentated mem?

INIT:
The initialization routines needs to be looked at. Because we use the module 
stuff, some information gets printed wrong, like  "scsi: 0 hosts" scrolling
down the screen for each host.

I begin to wonder if some of this _really_ is 2.5 stuff. If someone can come
up with a clean solution to the Makefile issue, we might pull it off. If 
we need to move the other scsi drivers (i2o, etc.) around I think we should
back off and do it nice and slow for 2.5. In this case we could revert to 
the point where sd/st/sr are modulized, and saving the core system for 2.5.

This is just IMHO, let me know what you think.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-test9-pre3 boots, 2.4.0-test9-pre4 doesn't (SCSI)

2000-09-19 Thread Torben Mathiasen

On Tue, Sep 19 2000, Andries Brouwer wrote:
> On Tue, Sep 19, 2000 at 11:29:31AM -0400, Simon Kirby wrote:
> > Hello,
> > 
> > 2.4.0-test9-pre3 seems to boot and work fine, but 2.4.0-test9-pre4 with
> > the same .config doesn't.  It stops here:
> 
> The same here. However, reverting the 1-line change in
> linux/drivers/scsi/Makefile makes things work again.
>

I'm doing a patch to fix the link order of scsi. This will hopefully
fix most problems. Stay tuned...

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-19 Thread Torben Mathiasen

On Tue, Sep 19 2000, Alan Cox wrote:
> > Thus my gut tells me the correct link order should be:
> > 
> > 1) SCSI core.
> > 2) low-level drivers (in same order as specified in hosts.c).
> > 3) upper level drivers.
> 
> You need to get the i2o scsi driver run last afte the low level and before
> the high level drivers despite being in drivers/i2o. There are some other
> drivers which arent in drivers/scsi too 
>

Did anyone start to cook up a patch for this? Otherwise I'll take look tonight.
(which is now, BTW.)


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: test9-pre4 bugs

2000-09-19 Thread Torben Mathiasen

On Tue, Sep 19 2000, Marko Kreen wrote:
> Tried running pre4, here notes:
> 
> 1) scsi devfs: /dev/scsi/host0 is now /dev/host0, /dev/scsi exist
>but is empty.
> 2) lots of messages: Warning - running *really* short on DMA buffers
>No oops yet.
>

Probaly because we used the module part of dma pool allocation. I'll
take a look at it.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

This will probaly fix a bunch of scsi problems in tytso's list at 
linux24.sourceforge.net.
Could people please verify this and send him a note. 

Thanks.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

On Mon, Sep 18 2000, Torben Mathiasen wrote:
> It just hit me when I touched the send button (yeah right!). I'm basicly 
> compiling the same kernel right now. 
> Glad we got that in place, otherwise it would have been a long wasted night 8).
>

And just to follow up on my own mail, this patch works great. This has to be one of
the cleanest module conversions I've seen in a while. Although it _will_ require a 
minor
change to all of the scsi drivers, the scsi_module.c implementation helps a lot.

At first I was sceptical about the scsi subsytem structure, but it turns out this _is_
what made it possible to do it cleanly, so kudos to Eric.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

On Mon, Sep 18 2000, Linus Torvalds wrote:
> And think about it - if this part didn't work, then loadable SCSI modules
> would never have worked. And every single distribution I know of basically
> depends on SCSI drivers being loadable modules, because there are just too
> effing many of them ;)
>

It just hit me when I touched the send button (yeah right!). I'm basicly 
compiling the same kernel right now. 
Glad we got that in place, otherwise it would have been a long wasted night 8).

> I'll make a test9-pre3 so that you can synch up, but I need to integrate
> all the 2.2.x stuff that Alan sent me yesterday first ;)
>

Excellent, people are starting to cry...

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

On Mon, Sep 18 2000, Eric Youngdale wrote:
> What is the primary objective here - getting rid of #ifdef MODULE, or is
> it removing redundant code for the two paths?  Or both?
> 
> I am just trying to get a handle on what is driving this.

Well the code clean-up came as a pleasent side effect of removing
ifdef MODULE. But now it seems Linus has done it without this. I
think this is okay, as it gives us a _nice_ working scsi layer back,
on which we can build our cleanup.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

On Mon, Sep 18 2000, Linus Torvalds wrote:
> Actually, hold off a moment.
> 
> It turns out that the MODULE case does all the right things, for all the
> obvious reasons. I'm running a kernel that has the #ifdef MODULE stuff
> just removed, and it seems to be a rather easy approach. It really only
> required making a few things static (the init routines would clash
> otherwise), and removing a lot of #ifdef MODULE.
> 
> (And removing some code that was enabled only for non-modules).
> 
> It looks very straightforward.
>

What about the case when scsi is compiled into the kernel with one or
more host adapters? We have to initialize those right away. Please
explain what you did with all the host initialization (spin-up, etc.)
in scsi_dev_init.

You could also just send me a diff, and I'll take a look.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning

2000-09-18 Thread Torben Mathiasen

On Mon, Sep 18 2000, Eric Youngdale wrote:
> Historical.  SCSI was made modular very early on when the modules
> technology was pretty primative.  As time has gone on, the two
> initialization paths have converged, and now they are essentially redundant.
>

Thats understandable.

> The one thing that is different in the module/non-module case is for the
> case of SCSI compiled into the kernel, you need to look at the list of
> compiled-in host adapters.  Unless of course you are cleaning that up as
> well.  I haven't seen the threads that got this work started, and it is only
> in reading this morning's messages that I see the rationale for all these
> changes in the first place.  There are a couple of ways of addressing this,
> some better than others, and some are more work than others.  I can give you
> assistance and ideas if you want.
>

Thanks a lot. I've started to do the basics, like getting all subsystems to work
with the module_init/exit stuff. This of course leds to some rewriteting/restructuring
of the scsi layer. Nothing major though.

It seems I can't avoid some of the ifdef MODULE stuff in the initialization routines
in scsi.c, exactly because of the issues you mention (init builtin host adapters when
scsi is also builtin)

Let me know if you have any hints as what should be looked at while we are
at it. I'll send you a patch soon for your comments.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] Re: SCSI scanning]

2000-09-18 Thread Torben Mathiasen

> On Sun, 17 Sep 2000, Linus Torvalds wrote:
> That's another case where the SCSI layer is module dependent. If it's a
> module, we use the "init_module()" in scsi/scsi.c, and if not, we instead
> use "scsi_dev_init()". They do some of the same things (well, they
> obviously would have to, otherwise there wouldn't be any point to having a
> init routine at all), but in general do it in very different ways for no
> good reason I can see.
>

I agree. The scsi subsystem has been like this for ages, and I've 
taken the task of cleaning it up.  The reason for not doing the 
_big_ patch right away, was because of the complextity of this
paticular layer. This complexity is _not_ needed, as the recent
changes to the network layer has taught us. In fact I think 
making the scsi layer behave more like the network layer 
in terms of initialization would benefit not only those hacking
on scsi, but all of those maintaining scsi host drivers. 

> Torben, would you mind terribly expanding on your previous patch a bit,
> and also cleaning this part up? As far as I can tell, we should just
> remove scsi_dev_init() completely, and use the module init code with an
> initcall(). Two less regions of #ifdef MODULE, and one less different
> code-path to worry about..
> 

I'll do this. I agree about the scsi_dev_init part. We _need_ one entry
point into each module (scsi/host/device). This change will actually
make some code a duplicate and therefore needs to be removed which
I consider a good ting. 


-- 
Regards,
Torben Mathiasen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] Re: SCSI scanning

2000-09-17 Thread Torben Mathiasen

On Sun, Sep 17 2000, Jan Niehusmann wrote:
> On Sun, Sep 17, 2000 at 09:59:30AM -0700, Linus Torvalds wrote:
> > On Sun, 17 Sep 2000, Torben Mathiasen wrote:
> > > 
> > > The proper way of fixing this is to add #ifdef MODULE around the init
> > > functions or going back to init/exit_module. 
> > 
> > Please explain why it does it twice for compiled-in, and only once for
> > modules. There must be some other logic that does the extra
> > initializations (and that does not trigger for modules), and I'd much
> > rather just get rid of THAT thing instead.
> 
> #ifdef CONFIG_BLK_DEV_SD
> scsi_register_device(&sd_template);
> #endif
>

I've attached a patch that seems to do "The Right Thing". The problem was
that the host detection routines would initialize the upper layers of scsi
drivers (sd/st/sr), and then the module_init routines would
do it again. I've removed this so now all device initialization is
done through the module_init stuff. Now this change has required all upper
layers to use this init method, and the patch therefore also updates st.

I've done some testing the last few hours with different configs to be sure 
nothing breaks, but to be absolutely sure I've CC'ed Eric to verify. This 
change makes the upper layers initialize a litte later when the initcall 
functions are called. 

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/torben linux-2.4.0-test9p2/drivers/scsi/hosts.c 
linux/drivers/scsi/hosts.c
--- linux-2.4.0-test9p2/drivers/scsi/hosts.cTue Jul 11 20:17:45 2000
+++ linux/drivers/scsi/hosts.c  Sun Sep 17 21:28:35 2000
@@ -11,6 +11,10 @@
  *  Jiffies wrap fixes (host->resetting), 3 Dec 1998 Andrea Arcangeli
  *  Added QLOGIC QLA1280 SCSI controller kernel host support. 
  * August 4, 1999 Fred Lewis, Intel DuPont
+ *
+ *  Updated to reflect the new initialization scheme for the higher 
+ *  level of scsi drivers (sd/sr/st)
+ *  September 17, 2000 Torben Mathiasen <[EMAIL PROTECTED]>
  */
 
 
@@ -998,20 +1002,7 @@
 printk ("scsi : %d host%s.\n", next_scsi_host,
(next_scsi_host == 1) ? "" : "s");
 
-/* Now attach the high level drivers */
-#ifdef CONFIG_BLK_DEV_SD
-scsi_register_device(&sd_template);
-#endif
-#ifdef CONFIG_BLK_DEV_SR
-scsi_register_device(&sr_template);
-#endif
-#ifdef CONFIG_CHR_DEV_ST
-scsi_register_device(&st_template);
-#endif
-#ifdef CONFIG_CHR_DEV_SG
-scsi_register_device(&sg_template);
-#endif
-
+
 #if 0  
 max_scsi_hosts = next_scsi_host;
 #endif
diff -ur --exclude-from=/root/torben linux-2.4.0-test9p2/drivers/scsi/sd.c 
linux/drivers/scsi/sd.c
--- linux-2.4.0-test9p2/drivers/scsi/sd.c   Sun Sep 17 21:23:48 2000
+++ linux/drivers/scsi/sd.c Sun Sep 17 21:26:46 2000
@@ -1335,13 +1335,13 @@
return;
 }
 
-static int init_sd(void)
+static int __init init_sd(void)
 {
sd_template.module = THIS_MODULE;
return scsi_register_module(MODULE_SCSI_DEV, &sd_template);
 }
 
-static void exit_sd(void)
+static void __exit exit_sd(void)
 {
struct gendisk **prev_sdgd_link;
struct gendisk *sdgd;
diff -ur --exclude-from=/root/torben linux-2.4.0-test9p2/drivers/scsi/st.c 
linux/drivers/scsi/st.c
--- linux-2.4.0-test9p2/drivers/scsi/st.c   Wed Sep  6 21:53:14 2000
+++ linux/drivers/scsi/st.c Sun Sep 17 21:27:12 2000
@@ -3700,9 +3700,7 @@
 }
 
 
-#ifdef MODULE
-
-int __init init_module(void)
+static int __init init_st(void)
 {
validate_options();
 
@@ -3710,7 +3708,7 @@
 return scsi_register_module(MODULE_SCSI_DEV, &st_template);
 }
 
-void cleanup_module(void)
+static void __exit exit_st(void)
 {
int i;
 
@@ -3736,4 +3734,6 @@
st_template.dev_max = 0;
printk(KERN_INFO "st: Unloaded.\n");
 }
-#endif /* MODULE */
+
+module_init(init_st);
+module_exit(exit_st);



Re: test9-pre1 hang when loading scsi-ide cdrom

2000-09-17 Thread Torben Mathiasen

On Sun, Sep 17 2000, Frank van de Pol wrote:
> On Sat, Sep 16, 2000 at 07:27:01PM +0200, Frank van de Pol wrote:
> > 
> > Just experienced a (reproducable) hang of the system when loading the
> > drivers for my cdrom drives. (ide-cd and ide-scsi). System freezes
> > completely; interupts / alt-sysreq is still working.
> > 
> > Just before the lockup I get next message on my console:
> > 
> > "
> > scsi1 : SCSI host adapter emulation for IDE ATAPI devices 
> > scsi : 2 hosts. 
> >Vendor: E-IDE Model: CD-ROM 36X/AKU Rev: U21I 
> >Type:   CD-ROM
> > ANSI SCSI revision: 02 
> > Detected scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0 
> > "
> > 
> 
> I tried to compile the sr_mod without the __init & __exit but this did (as
> expected) to cure the problem.
> 
> The problem seems to reside in the ide-scsi driver; if the cdrom (sr_mod) is
> not loaded, I get during initialisation of the ide-scsi module a lockup
> after printing the information about the 1st host (dies after the 'Type:
> CDROM' line). Probing the 2nd host seems to fail.
>

When did this start to happen? I sustect this is something similar to what has
been happening with sd because of the module_init/exit stuff. 

Some people are seeing lockups because of the sd changes, going back to init_module
cures it. The problems is within the scsi subsystem itself.

Could you try reverting the init_sr/exit_sr to init_module/cleanup_module and
removing module_init/exit please?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Ethernet Driver for Built in Network Card

2000-09-17 Thread Torben Mathiasen

On Sun, Sep 17 2000, David Ford wrote:
> Craig Whitmore wrote:
> 
> > I checked again and its a Intel 815 Board.
> > Someone told me to use tulip and someone told me to use eepro
> 
> Is this the CNR based network device?
>

You need to use the eepro100 driver. I've added this card in 2.2.18. If
you use a 2.4.0 kernel, you can do the patch yourself by just looking 
at the 2.2 eepro100 driver. You only need to add the PCI ID's.


-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: undefined reference to `scsi_register_module'

2000-09-17 Thread Torben Mathiasen

On Sun, Sep 17 2000, Mr. James W. Laferriere wrote:
> 
> drivers/scsi/scsidrv.o: In function `init_sd':
> drivers/scsi/scsidrv.o(.text+0x7326): undefined reference to
> `scsi_register_module'
> drivers/scsi/scsidrv.o: In function `exit_sd':
> drivers/scsi/scsidrv.o(.text+0x733e): undefined reference to
> `scsi_unregister_module'
> drivers/scsi/scsidrv.o: In function `init_sr':
> drivers/scsi/scsidrv.o(.text.init+0x385a): undefined reference to
> `scsi_register_module'
> make: *** [vmlinux] Error 1
>

Compile error fixed in test9-pre1, working fix should go into pre2.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: SCSI scanning

2000-09-16 Thread Torben Mathiasen

On Sat, Sep 16 2000, Jan Niehusmann wrote:
> test9-pre1 does not contain a fix for the test8 scsi scanning problem. SCSI
> disks are detected twice if scsi is not compiled as a module. Torben already
> posted a patch.
>

Linus,

The proper way of fixing this is to add #ifdef MODULE around the init
functions or going back to init/exit_module. 
I know it looks ugly, but because of the structure of the 
scsi subsytem this is the only way out besides doing a nasty hack
to scsi.c. And even with the hack, the initialisation functions
will get called twice which is wrong.

I guess the scsi subsystem is in need of an overhaul for 2.5.

Patches have already been sent to you for sd (me) and sr (Jens Axboe).



-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0 SCSI doesn't compile without modules

2000-09-13 Thread Torben Mathiasen

On Wed, Sep 13 2000, Mr. James W. Laferriere wrote:
> 
>   Hello Torben ,
>   Has anyone caught this one yet .  I assume it is just the same
>   patch added (manually) to sr.c/h as well ?  Tia ,  JimL
> 
> drivers/scsi/scsidrv.o: In function `init_sr':
> drivers/scsi/scsidrv.o(.text+0x1cfce): undefined reference to
> `scsi_register_module'
> drivers/scsi/scsidrv.o: In function `exit_sr':
> drivers/scsi/scsidrv.o(.text+0x1cfe0): undefined reference to
> `scsi_unregister_module'
> make: *** [vmlinux] Error 1
> 
>

Probaly, I prefer to revert to good old init/cleanup_module. Forcing
the new module_init with older non compatible drivers seems wrong.
I'll look into what needs to be done to get it clean.

The patch attached goes back to the old interface, please verify its
success. I'll then send it to Linus for test9-p1.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur linux-2.4.0-test8/drivers/scsi/sr.c linux/drivers/scsi/sr.c
--- linux-2.4.0-test8/drivers/scsi/sr.c Wed Sep 13 23:24:42 2000
+++ linux/drivers/scsi/sr.c Wed Sep 13 23:54:26 2000
@@ -849,13 +849,15 @@
return;
 }
 
-int init_sr(void)
+#ifdef MODULE
+
+int init_module(void)
 {
sr_template.module = THIS_MODULE;
return scsi_register_module(MODULE_SCSI_DEV, &sr_template);
 }
 
-void exit_sr(void)
+void cleanup_module(void)
 {
scsi_unregister_module(MODULE_SCSI_DEV, &sr_template);
devfs_unregister_blkdev(MAJOR_NR, "sr");
@@ -879,5 +881,4 @@
sr_template.dev_max = 0;
 }
 
-module_init(init_sr);
-module_exit(exit_sr);
+#endif /* MODULE */



Re: 2.4.0 SCSI doesn't compile without modules

2000-09-13 Thread Torben Mathiasen

On Wed, Sep 13 2000, Anton Altaparmakov wrote:
> Just discovered that if you try to compile 2.4.0-test8 without module 
> support then the compilation (or linking to be more exact) fails at:
> 
> drivers/scsi/scsidrv.o: In function 'init_sd':
> drivers/scsi/scsidrv.o(.text+0x1efa): undefined reference to 
> 'scsi_register_module'
> drivers/scsi/scsidrv.o: In function 'exit_sd':
> drivers/scsi/scsidrv.o(.text+0x1f12): undefined reference to 
> 'scsi_unregister_module'
> 
> I have attached the .config file with which this happens...
>

Check the list, patch already posted.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: SCSI scan problem in 2.4test8

2000-09-13 Thread Torben Mathiasen

On Wed, Sep 13 2000, Matthew Kirkwood wrote:
> Hi,
> 
> 2.4 seems to have problems scanning SCSI busses.  It
> looks rather like it is scanning the first bus for
> every host that it finds.
> 
> My dmesg is attached.  In my dual-P3 box, I have three
> disks on the first channel of an on-board aic7xxx:
> 
> $ cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 00 Lun: 00
>   Vendor: QUANTUM  Model: ATLAS IV 9 WLS   Rev: 0909
>   Type:   Direct-AccessANSI SCSI revision: 03
> Host: scsi0 Channel: 00 Id: 01 Lun: 00
>   Vendor: QUANTUM  Model: ATLAS IV 9 WLS   Rev: 0909
>   Type:   Direct-AccessANSI SCSI revision: 03
> Host: scsi0 Channel: 00 Id: 02 Lun: 00
>   Vendor: QUANTUM  Model: ATLAS IV 9 WLS   Rev: 0909
>   Type:   Direct-AccessANSI SCSI revision: 03
>

Could you try out this patch. The module_init/exit stuff in sd.c
has given some people a real headache.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/torben linux-2.4.0-test8/drivers/scsi/sd.c 
linux/drivers/scsi/sd.c
--- linux-2.4.0-test8/drivers/scsi/sd.c Sun Sep 10 11:55:58 2000
+++ linux/drivers/scsi/sd.c Sun Sep 10 12:07:09 2000
@@ -1335,12 +1335,14 @@
return;
 }
 
-int init_sd(void)
+#ifdef MODULE
+
+int init_module(void)
 {
sd_template.module = THIS_MODULE;
return scsi_register_module(MODULE_SCSI_DEV, &sd_template);
 }
-void exit_sd(void)
+void cleanup_module(void)
 {
struct gendisk **prev_sdgd_link;
struct gendisk *sdgd;
@@ -1388,5 +1390,4 @@
kfree(sd_gendisks);
 }
 
-module_init(init_sd);
-module_exit(exit_sd);
+#endif /* MODULE */



Re: Update Linux 2.4 Status/TODO list

2000-09-13 Thread Torben Mathiasen

On Wed, Sep 13 2000, [EMAIL PROTECTED] wrote:
>  * Loading the qlogicfc driver in 2.4.0-test8 causes the kernel to
>loop forver reporting SCSI disks that aren't present (Paul
>Hubbard)

This is probaly due to the module_init/exit stuff that got into test8. I have
already sent Linus a patch, but I still need to verify this with Paul Hubbard.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Update Linux 2.4 Status/TODO list

2000-09-13 Thread Torben Mathiasen

On Wed, Sep 13 2000, [EMAIL PROTECTED] wrote:
>  * TLAN nic appears to be adding a timer twice (2.4.0test8pre6, Arjan
>ve de Ven)

This has been fixed, just not sent off to Linus yet.

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Scsi disks duplicated

2000-09-09 Thread Torben Mathiasen

On Sat, Sep 09 2000, Jan Niehusmann wrote:
> With linux-2.4.0-test8, all my scsi disks appear duplicated:
> 
> Detected scsi disk sda at scsi0, channel 0, id 3, lun 0
> [...]
> Detected scsi disk sdb at scsi0, channel 0, id 4, lun 0
> [...]
> Detected scsi disk sdc at scsi0, channel 0, id 3, lun 0
> [...]
> Detected scsi disk sdd at scsi0, channel 0, id 4, lun 0
> 
> I think this is caused by the addition of module_init(init_sd);
> at the end of drivers/scsi/sd.c.
>

This seems to some kind of scsi weirdness. Jens reports its the 
same with sr. Maybe Eric have a comment on this?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] af_netrom.c: do resource release on failure

2000-09-08 Thread Torben Mathiasen

On Fri, Sep 08 2000, Marcelo Tosatti wrote:
> 
> On Fri, 8 Sep 2000, Torben Mathiasen wrote:
> 
> > On Fri, Sep 08 2000, Arnaldo Carvalho de Melo wrote:
> > > Hi,
> > > 
> > >   Please take a look and consider applying. Some of it are small cleanups, if
> > > they're deemed unnecessary, lemme now and I'm back it off. I think that there
> > > are some more unchecked calls that need fixing, but I think its better to keep
> > > the patches smaller and incremental, what do you think?
> > >
> > 
> > How about converting the cli() code to spin_locks while we are at it?
> 
> ipx is using cli() too.
>

Mmmm, any reason for this besides just lazyness? I'd hate to do it, cause 
I'd hate to test it 8)

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [PATCH] af_netrom.c: do resource release on failure

2000-09-08 Thread Torben Mathiasen

On Fri, Sep 08 2000, Arnaldo Carvalho de Melo wrote:
> Hi,
> 
>   Please take a look and consider applying. Some of it are small cleanups, if
> they're deemed unnecessary, lemme now and I'm back it off. I think that there
> are some more unchecked calls that need fixing, but I think its better to keep
> the patches smaller and incremental, what do you think?
>

How about converting the cli() code to spin_locks while we are at it?

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[PATCH] sd.c Resource allocation fixes + cleanups

2000-09-07 Thread Torben Mathiasen

Linus and others,

Please take a look at the patch attached, and consider applying. It fixes
some of the OOM issues with sd.c and does general cleanups (module_init/exit,
removing casts, etc.).

I just searched the archives and found that Arnaldo Carvalho de Melo submitted
a similar patch for test7-pre7 that didn't get in. Please let me know if 
something is missing from this one, or if Analdo is currently working on this.

Patch is against test8-pre6

-- 
Torben Mathiasen <[EMAIL PROTECTED]>
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur --exclude-from=/root/torben linux-2.4.0-test8p6/drivers/scsi/sd.c 
linux/drivers/scsi/sd.c
--- linux-2.4.0-test8p6/drivers/scsi/sd.c   Thu Sep  7 10:25:29 2000
+++ linux/drivers/scsi/sd.c Thu Sep  7 13:05:13 2000
@@ -19,6 +19,9 @@
  *   scsi disks using eight major numbers.
  *
  *   Modified by Richard Gooch [EMAIL PROTECTED] to support devfs.
+ * 
+ *  Modified by Torben Mathiasen [EMAIL PROTECTED]
+ *   Resource allocation fixes in sd_init and cleanups.
  */
 
 #include 
@@ -1039,16 +1042,24 @@
if (rscsi_disks)
return 0;
 
-   rscsi_disks = (Scsi_Disk *)
-   kmalloc(sd_template.dev_max * sizeof(Scsi_Disk), GFP_ATOMIC);
+   rscsi_disks = kmalloc(sd_template.dev_max * sizeof(Scsi_Disk), GFP_ATOMIC);
+   if (!rscsi_disks)
+   goto cleanup_devfs;
memset(rscsi_disks, 0, sd_template.dev_max * sizeof(Scsi_Disk));
 
/* for every (necessary) major: */
-   sd_sizes = (int *) kmalloc((sd_template.dev_max << 4) * sizeof(int), 
GFP_ATOMIC);
+   sd_sizes = kmalloc((sd_template.dev_max << 4) * sizeof(int), GFP_ATOMIC);
+   if (!sd_sizes)
+   goto cleanup_disks;
memset(sd_sizes, 0, (sd_template.dev_max << 4) * sizeof(int));
 
-   sd_blocksizes = (int *) kmalloc((sd_template.dev_max << 4) * sizeof(int), 
GFP_ATOMIC);
-   sd_hardsizes = (int *) kmalloc((sd_template.dev_max << 4) * sizeof(int), 
GFP_ATOMIC);
+   sd_blocksizes = kmalloc((sd_template.dev_max << 4) * sizeof(int), GFP_ATOMIC);
+   if (!sd_blocksizes)
+   goto cleanup_sizes;
+   
+   sd_hardsizes = kmalloc((sd_template.dev_max << 4) * sizeof(int), GFP_ATOMIC);
+   if (!sd_hardsizes)
+   goto cleanup_blocksizes;
 
for (i = 0; i < sd_template.dev_max << 4; i++) {
sd_blocksizes[i] = 1024;
@@ -1059,22 +1070,29 @@
blksize_size[SD_MAJOR(i)] = sd_blocksizes + i * (SCSI_DISKS_PER_MAJOR 
<< 4);
hardsect_size[SD_MAJOR(i)] = sd_hardsizes + i * (SCSI_DISKS_PER_MAJOR 
<< 4);
}
-   sd = (struct hd_struct *) kmalloc((sd_template.dev_max << 4) *
+   sd = kmalloc((sd_template.dev_max << 4) *
  sizeof(struct hd_struct),
  GFP_ATOMIC);
+   if (!sd)
+   goto cleanup_sd;
memset(sd, 0, (sd_template.dev_max << 4) * sizeof(struct hd_struct));
 
if (N_USED_SD_MAJORS > 1)
-   sd_gendisks = (struct gendisk *)
-   kmalloc(N_USED_SD_MAJORS * sizeof(struct gendisk), GFP_ATOMIC);
+   sd_gendisks = kmalloc(N_USED_SD_MAJORS * sizeof(struct gendisk), 
+GFP_ATOMIC);
+   if (!sd_gendisks)
+   goto cleanup_sd_gendisks;
for (i = 0; i < N_USED_SD_MAJORS; i++) {
sd_gendisks[i] = sd_gendisk;
sd_gendisks[i].de_arr = kmalloc (SCSI_DISKS_PER_MAJOR * sizeof 
*sd_gendisks[i].de_arr,
  GFP_ATOMIC);
+   if (!sd_gendisks[i].de_arr)
+   goto cleanup_gendisks_de_arr;
 memset (sd_gendisks[i].de_arr, 0,
 SCSI_DISKS_PER_MAJOR * sizeof *sd_gendisks[i].de_arr);
sd_gendisks[i].flags = kmalloc (SCSI_DISKS_PER_MAJOR * sizeof 
*sd_gendisks[i].flags,
 GFP_ATOMIC);
+   if (!sd_gendisks[i].flags)
+   goto cleanup_gendisks_flags;
 memset (sd_gendisks[i].flags, 0,
 SCSI_DISKS_PER_MAJOR * sizeof *sd_gendisks[i].flags);
sd_gendisks[i].major = SD_MAJOR(i);
@@ -1091,6 +1109,31 @@
 
LAST_SD_GENDISK.next = NULL;
return 0;
+
+cleanup_gendisks_flags:
+   kfree(sd_gendisks[i].de_arr);
+cleanup_gendisks_de_arr:
+   while (--i >= 0 ) {
+   kfree(sd_gendisks[i].de_arr);
+   kfree(sd_gendisks[i].flags);
+   }
+   kfree(sd_gendisks);
+cleanup_sd_gendisks:
+   kfree(sd);
+cleanup_sd:
+   kfree(sd_hardsizes);
+cleanup_blocksizes:
+   kfree(sd_blocksizes);
+cleanup_sizes:
+   kfree(sd_sizes);
+cleanup_disks:
+   kfree(rscsi_disks);
+cleanup_devfs:
+   

[PATCH]: TLAN EISA support + PCI fixes

2000-08-31 Thread Torben Mathiasen

This patch (against 2.4.0-test7 and later) take the tlan driver to v1.10 
and has the following fixes/enhancements:

Support for EISA controllers
New PCI probe layout
Other fixes (see patch).

Currently only the Compaq NetFlex-3/E controller is supported, and as I 
only had access to one, it might not find your controller. If it dosen't
please load the driver with "insmod tlan debug=0x10" and send me the output.
You'll be able to check if you EISA board was found by watching "dmesg" output.
The driver should report something similar to this:

ThunderLAN driver v1.10
TLAN: eth0 irq=11, io=70a0, Compaq Netelligent 10/100 TX PCI UTP, Rev. 16
TLAN: eth1 irq= 9, io=3000, Compaq NetFlex-3/E, Rev. 0
TLAN: 2 devices installed, PCI: 1  EISA: 1

Please note this driver version is experimental. Some issues are
still left (timers on SMP, revision, etc.).

Have fun.

-- 
Torben Mathiasen 
Linux ThunderLAN maintainer 
http://tlan.kernel.dk


diff -ur linux-2.4.0-test7/drivers/net/tlan.c linux/drivers/net/tlan.c
--- linux-2.4.0-test7/drivers/net/tlan.cThu Aug 31 13:48:07 2000
+++ linux/drivers/net/tlan.cThu Aug 31 14:26:43 2000
@@ -98,10 +98,28 @@
  * v1.8a May 28, 2000   - Minor updates.
  *
  * v1.9 July 25, 2000   - Fixed a few remaining Full-Duplex issues.
- *  - Updated with timer fixes from Andrew Morton.
- *  - Fixed module race in TLan_Open.
- *  - Added routine to monitor PHY status.
- *  - Added activity led support for Proliant devices.
+ *  - Updated with timer fixes from Andrew Morton.
+ *  - Fixed module race in TLan_Open.
+ *  - Added routine to monitor PHY status.
+ *  - Added activity led support for Proliant devices.
+ *
+ * v1.10 Aug 30, 2000   - Added support for EISA based tlan controllers 
+ *like the Compaq NetFlex3/E. 
+ *  - Rewrote tlan_probe to better handle multiple
+ *bus probes. Probing and device setup is now
+ *done through TLan_Probe and TLan_init_one. Actual
+ *hardware probe is done with kernel API and 
+ *TLan_EisaProbe.
+ *  - Adjusted debug information for probing.
+ *  - Fixed bug that would cause general debug information 
+ *to be printed after driver removal. 
+ *  - Added transmit timeout handling.
+ *  - Fixed OOM return values in tlan_probe. 
+ *  - Fixed possible mem leak in tlan_exit 
+ *(now tlan_remove_one).
+ *  - Fixed timer bug in TLan_PhyMonitor.
+ *  - This driver version is alpha quality, please
+ *send me any bug issues you may encounter.
  *
  ***/
 
@@ -121,8 +139,9 @@
 typedef u32 (TLanIntVectorFunc)( struct net_device *, u16 );
 
 
+/* For removing EISA devices */
+static struct net_device   *TLan_Eisa_Devices = NULL;
 
-static struct net_device   *TLanDevices = NULL;
 static int TLanDevicesInstalled = 0;
 
 /* Force speed, duplex and aui settings */
@@ -144,7 +163,10 @@
 static int bbuf = 0;
 static u8  *TLanPadBuffer;
 static charTLanSignature[] = "TLAN";
-static const char *tlan_banner = "ThunderLAN driver v1.9\n";
+static const char *tlan_banner = "ThunderLAN driver v1.10\n";
+static int tlan_have_pci = 0;
+static int tlan_have_eisa = 0;
+static int manual_priv = 0;
 
 const char *media[] = {
"10BaseT-HD ", "10BaseT-FD ","100baseTx-HD ", 
@@ -153,103 +175,72 @@
 
 int media_map[] = { 0x0020, 0x0040, 0x0080, 0x0100, 0x0200,};
 
-static TLanAdapterEntry TLanAdapterList[] __initdata = {
-   { PCI_VENDOR_ID_COMPAQ, 
- PCI_DEVICE_ID_NETELLIGENT_10,
- "Compaq Netelligent 10 T PCI UTP",
- TLAN_ADAPTER_ACTIVITY_LED,
- 0x83
-   },
-   { PCI_VENDOR_ID_COMPAQ,
- PCI_DEVICE_ID_NETELLIGENT_10_100,
- "Compaq Netelligent 10/100 TX PCI UTP",
- TLAN_ADAPTER_ACTIVITY_LED,
- 0x83
-   }, 
-   { PCI_VENDOR_ID_COMPAQ,
- PCI_DEVICE_ID_NETFLEX_3P_INTEGRATED,
- "Compaq Integrated NetFlex-3/P",
- TLAN_ADAPTER_NONE,
- 0x83
-   }, 
-   { PCI_VENDOR_ID_COMPAQ,
- PCI_DEVICE_ID_NETFLEX_3P,
- "Compaq NetFlex-3/P",
- TLAN_ADAPTER_UNMANAGED_PHY | TLAN_ADAPTER_BIT_RATE_PHY,
- 0x83
-   },
-   { PCI_VEN