aic7xxx 6.1.10 breaks 2.4.3-ac3
Subsystems (3)
Hi.
Subject says it all.
With latest updates, i just deleted the kernel aic7xxx subtree, put instead the updated (from people.freebsd.org) tree, and built. All went fine until (and including) 6.1.9.
6.1.10 just stops after the init messages and stays there forever.
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.1.9
<Adaptec aic7890/91 Ultra2 SCSI adapter> aic7890/91: Wide Channel A, SCSI Id=7, 32/255 SCBs
(6.1.10 stops here)
Vendor: IBM Model: DCAS-34330W Rev: S65A
Type: Direct-Access ANSI SCSI revision: 02
scsi0:0:0:0: Tagged Queuing enabled. Depth 253 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 (scsi0:A:0): 40.000MB/s transfers (20.000MHz, offset 15, 16bit) SCSI device sda: 8467200 512-byte hdwr sectors (4335 MB) Partition check:
sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
Signature · 4 lines
J.A. Magallon # Let the source mailto:[email protected] # be with you, Luke... Linux werewolf 2.4.3-ac3 #1 SMP Thu Apr 5 00:28:45 CEST 2001 i686
Quoted 7 lines
Hi.
Subject says it all.
With latest updates, i just deleted the kernel aic7xxx subtree, put instead the updated (from people.freebsd.org) tree, and built. All went fine until (and including) 6.1.9.
That's not a sufficient way to upgrade. The tar files are there for people who are porting the driver to other platforms. You should always use the patches to upgrade as they often touch other portions of the Linux kernel that need fixes in order to work correctly with the aic7xxx driver.
Quoted 1 line
6.1.10 just stops after the init messages and stays there forever.
To be expected as you didn't apply the patch to scsi_lib.c that makes scsi_unblock_host() actually run the device queues to start the system back up again.
I'm working on an html page for my site that should explain all of the upgrade proceedures.
--
Justin
Quoted 7 lines · On 04.07 Justin T. Gibbs wrote:
That's not a sufficient way to upgrade. The tar files are there for people who are porting the driver to other platforms. You should always use the patches to upgrade as they often touch other portions of the Linux kernel that need fixes in order to work correctly with the aic7xxx driver.
Quoted 6 lines
Quoted 1 line
6.1.10 just stops after the init messages and stays there forever.
To be expected as you didn't apply the patch to
scsi_lib.cthat makesscsi_unblock_host()actually run the device queues to start the system back up again.
There is no patch for 2.4.3-ac3. You could say, well if you want 6.1.10, use plain 2.4.3.
That is not the way to do things. It is supposed that what people can get at your site is the aic driver. If the patch contains something different, from the tarball, nobody knows.
If there is a bug in kernel, please mail it to lkml.
And in your site make VERY clear and independent the patch to correct that thing in main SCSI subsystem from the patch to upgrade your drivers.
Quoted 3 lines
I'm working on an html page for my site that should explain all of the upgrade proceedures.
Good idea.
Signature · 4 lines
J.A. Magallon # Let the source mailto:[email protected] # be with you, Luke... Linux werewolf 2.4.3-ac3 #1 SMP Thu Apr 5 00:28:45 CEST 2001 i686
Quoted 7 lines
Quoted 4 lines
To be expected as you didn't apply the patch to
scsi_lib.cthat makesscsi_unblock_host()actually run the device queues to start the system back up again.There is no patch for 2.4.3-ac3. You could say, well if you want 6.1.10, use plain 2.4.3.
Actually, I would say, "Apply the 2.4.3 patch. It will probably apply cleanly to your kernel. If it doesn't, and you don't know enough C to correct the problem, you shouldn't be playing around with kernel patches."
Quoted 2 lines
That is not the way to do things. It is supposed that what people can get at your site is the aic driver.
Ahh, now I have people telling me what the content of my site should be. ;-)
Quoted 1 line
If the patch contains something different, from the tarball, nobody knows.
I've figured this part out.
Quoted 1 line
If there is a bug in kernel, please mail it to lkml.
This has already happened in all cases save the functionality I've added in 6.1.10. I haven't even gotten around to announcing 6.1.10 yet, so you can hardly fault me for not posting the SCSI layer changes yet.
Anyway, posting something to LK doesn't help people running already released kernels. Not everyone pushes the bleading edge by updating their kernel daily. These people should be able to get driver updates if they need them. As for people that run on the bleading edge, kernel "releases" occur far too often and in too many flavors for me to track them daily. So, I work with Linus and Alan to get driver changes into their trees and provide patches against released kernels.
Quoted 2 lines
And in your site make VERY clear and independent the patch to correct that thing in main SCSI subsystem from the patch to upgrade your drivers.
People using the driver will have to have the other fixes. They are not separable. Separating them will only lead to more confusion. For instance, 6.1.10 includes patches to Makefiles to correct for a link order issue. This is another *required* change for the driver to work well. Does that need to be in a separate patch file too?
--
Justin
Quoted 6 lines · On 04.08 Justin T. Gibbs wrote:
Actually, I would say, "Apply the 2.4.3 patch. It will probably apply cleanly to your kernel. If it doesn't, and you don't know enough C to correct the problem, you shouldn't be playing around with kernel patches."
Below is inlined the patch that touches everything outside the aic7xxx private subtree. The rest needed is the src.tar.gz file from your site. Just corrected offsets.
Quoted 5 lines
Quoted 2 lines
That is not the way to do things. It is supposed that what people can get at your site is the aic driver.
Ahh, now I have people telling me what the content of my site should be. ;-)
Nope, you can do whatever you like.
Quoted 5 lines
This has already happened in all cases save the functionality I've added in 6.1.10. I haven't even gotten around to announcing 6.1.10 yet, so you can hardly fault me for not posting the SCSI layer changes yet.
Once you said 'here is my site for this certain soft updates', you can't excpect that people do not check it in a regular basis, did you announce anything or not.
=============== patch-follows
diff -u -r -N linux-2.4.3.virgin/Documentation/Configure.help linux-2.4.3/Documentation/Configure.help
--- linux-2.4.3.virgin/Documentation/Configure.help Wed Apr 4 15:41:33
2001
+++ linux-2.4.3/Documentation/Configure.help Wed Apr 4 15:41:37 2001
@@ -5687,7 +5687,7 @@
Default: 253
Initial Bus Reset Settle Delay
-CONFIG_AIC7XXX_RESET_DELAY +CONFIG_AIC7XXX_RESET_DELAY_MS
The number of milliseconds to delay after an initial bus reset. The bus settle delay following all error recovery actions is dictated by the SCSI layer and is not affected by this value.
Makefile +0 -1
@@ -144,7 +144,6 @@ DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o -DRIVERS-$(CONFIG_SCSI_AIC7XXX) += drivers/scsi/aic7xxx/aic7xxx_drv.o DRIVERS-$(CONFIG_FUSION_BOOT) += drivers/message/fusion/fusion.o DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o
diff -u -r -N linux-2.4.3.virgin/arch/alpha/defconfig linux-2.4.3/arch/alpha/defconfig
arch/alpha/defconfig +1 -1
@@ -286,7 +286,7 @@ # CONFIG_SCSI_AHA1740 is not set CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 -CONFIG_AIC7XXX_RESET_DELAY=5000 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set # CONFIG_SCSI_AM53C974 is not set
diff -u -r -N linux-2.4.3.virgin/arch/ppc/defconfig linux-2.4.3/arch/ppc/defconfig
arch/ppc/defconfig +1 -1
@@ -297,7 +297,7 @@ # CONFIG_SCSI_AHA1740 is not set CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 -CONFIG_AIC7XXX_RESET_DELAY=15000 +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set
diff -u -r -N linux-2.4.3.virgin/arch/sparc64/defconfig linux-2.4.3/arch/sparc64/defconfig
arch/sparc64/defconfig +1 -1
@@ -307,7 +307,7 @@ CONFIG_SCSI_QLOGICPTI=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 -CONFIG_AIC7XXX_RESET_DELAY=5000 +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT=y CONFIG_AIC7XXX_OLD_CMDS_PER_DEVICE=8
diff -u -r -N linux-2.4.3.virgin/drivers/scsi/Makefile linux-2.4.3/drivers/scsi/Makefile
drivers/scsi/Makefile +9 -0
@@ -6,6 +6,12 @@ # # 20 Sep 2000, Torben Mathiasen <[email protected]> # Changed link order to reflect new scsi initialization. +# +# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! +# The link order must be, SCSI Core, SCSI HBA drivers, and +# lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to +# satisfy certain initialization assumptions in the SCSI layer. +# *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! O_TARGET := scsidrv.o
@@ -64,6 +70,9 @@ obj-$(CONFIG_SCSI_AHA152X) += aha152x.o obj-$(CONFIG_SCSI_AHA1542) += aha1542.o obj-$(CONFIG_SCSI_AHA1740) += aha1740.o +ifeq ($(CONFIG_SCSI_AIC7XXX),y) +obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx/aic7xxx_drv.o +endif obj-$(CONFIG_SCSI_AIC7XXX_OLD) += aic7xxx_old.o obj-$(CONFIG_SCSI_IPS) += ips.o obj-$(CONFIG_SCSI_FD_MCS) += fd_mcs.o
diff -u -r -N linux-2.4.3.virgin/drivers/scsi/scsi_lib.c linux-2.4.3/drivers/scsi/scsi_lib.c
drivers/scsi/scsi_lib.c +5 -1
@@ -1111,9 +1111,13 @@*/ void scsi_unblock_requests (struct Scsi_Host * SHpnt) { +Scsi_Device *SDloop; + SHpnt->host_self_blocked = FALSE; +/* Now that we are unblocked, try to start the queues. */ +for (SDloop = SHpnt->host_queue; SDloop; SDloop = SDloop->next) +scsi_queue_next_request (&SDloop->request_queue,NULL ); } -/* * Function: scsi_report_bus_reset()
Signature · 4 lines
J.A. Magallon # Let the source mailto:[email protected] # be with you, Luke... Linux werewolf 2.4.3-ac3 #1 SMP Thu Apr 5 00:28:45 CEST 2001 i686
Quoted 3 lines
Once you said 'here is my site for this certain soft updates', you can't excpect that people do not check it in a regular basis, did you announce anything or not.
I'm not expecting anything. I just find it amusing when people grab stuff that has no instructions, don't look at what they've grabbed to figure out what it is or how it works, and then complain when they can't diagnose the result of their efforts.
--
Justin