* [PATCH] m68k link error and NCR5380_exit()
[not found] ` <Pine.LNX.4.61.0502212233290.15372@loopy.telegraphics.com.au>
@ 2005-03-07 6:30 ` Finn Thain
2005-03-07 6:37 ` Christoph Hellwig
0 siblings, 1 reply; 9+ messages in thread
From: Finn Thain @ 2005-03-07 6:30 UTC (permalink / raw)
To: James.Bottomley; +Cc: linux scsi, Geert Uytterhoeven, Noah Misch, linux m68k
If this patch looks okay to you SCSI people, I'll ask the m68k maintainer
to apply it. It fixes a link failure in the !CONFIG_HOTPLUG m68k kernel
caused by the mac_scsi driver. The patch should apply to v2.6.10.
AFAICT, the introduction of __devexit NCR5380_exit() in 2.6.9 necessitated
this fix for m68k macs, which don't need hotplug, and typically want
mac_scsi built into the kernel.
Given !MODULE and !HOTPLUG, g_NCR5380 has the same problem (as do other
NCR5380 SCSI drivers, I expect). However, the x86 linker doesn't care, and
I don't have the hardware, so I haven't patched them.
Signed-off-by: fthain@telegraphics.com.au
--- a/drivers/scsi/mac_scsi.c 2005-02-28 15:12:31.050279180 +1100
+++ b/drivers/scsi/mac_scsi.c 2005-02-28 15:14:16.499002032 +1100
@@ -233,7 +233,7 @@
*
*/
-int macscsi_detect(Scsi_Host_Template * tpnt)
+int __init macscsi_detect(Scsi_Host_Template * tpnt)
{
static int called = 0;
int flags = 0;
@@ -322,7 +322,7 @@
return 1;
}
-int macscsi_release (struct Scsi_Host *shpnt)
+int __exit macscsi_release (struct Scsi_Host *shpnt)
{
if (shpnt->irq != SCSI_IRQ_NONE)
free_irq (shpnt->irq, NCR5380_intr);
@@ -336,7 +336,7 @@
* Our 'bus reset on boot' function
*/
-static void mac_scsi_reset_boot(struct Scsi_Host *instance)
+static void __init mac_scsi_reset_boot(struct Scsi_Host *instance)
{
unsigned long end;
@@ -586,7 +586,7 @@
.proc_info = macscsi_proc_info,
.name = "Macintosh NCR5380 SCSI",
.detect = macscsi_detect,
- .release = macscsi_release,
+ .release = __exit_p(macscsi_release),
.info = macscsi_info,
.queuecommand = macscsi_queue_command,
.eh_abort_handler = macscsi_abort,
--- a/drivers/scsi/scsi_module.c 2005-02-28 18:16:17.408413324 +1100
+++ b/drivers/scsi/scsi_module.c 2005-02-28 18:16:46.696503105 +1100
@@ -21,12 +21,14 @@
struct list_head *l;
int error;
+#ifdef MODULE
if (!sht->release) {
printk(KERN_ERR
"scsi HBA driver %s didn't set a release method.\n",
sht->name);
return -EINVAL;
}
+#endif
sht->module = THIS_MODULE;
INIT_LIST_HEAD(&sht->legacy_hosts);
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-07 6:30 ` [PATCH] m68k link error and NCR5380_exit() Finn Thain
@ 2005-03-07 6:37 ` Christoph Hellwig
2005-03-07 13:45 ` Finn Thain
0 siblings, 1 reply; 9+ messages in thread
From: Christoph Hellwig @ 2005-03-07 6:37 UTC (permalink / raw)
To: Finn Thain
Cc: James.Bottomley, linux scsi, Geert Uytterhoeven, Noah Misch,
linux m68k
> .detect = macscsi_detect,
> - .release = macscsi_release,
> + .release = __exit_p(macscsi_release),
Please get rid of your ->detect/->release useage instead. Allocate
the host struct directly with scsi_host_alloc and add it when setup using
scsi_add_host/scsi_scan_host in your init routine and call scsi_remove_host/
scsi_host_put in the module exit routine. see qla1280.c for an example
that does this for the 2.6 case and to ease your porting also has the 2.4
code ifdefed so you have the direct comparism.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-07 6:37 ` Christoph Hellwig
@ 2005-03-07 13:45 ` Finn Thain
2005-03-07 17:53 ` Brad Boyer
0 siblings, 1 reply; 9+ messages in thread
From: Finn Thain @ 2005-03-07 13:45 UTC (permalink / raw)
To: Christoph Hellwig
Cc: James.Bottomley, linux scsi, Geert Uytterhoeven, Noah Misch,
linux m68k
On Mon, 7 Mar 2005, Christoph Hellwig wrote:
> > .detect = macscsi_detect,
> > - .release = macscsi_release,
> > + .release = __exit_p(macscsi_release),
>
> Please get rid of your ->detect/->release useage instead. Allocate the
> host struct directly with scsi_host_alloc and add it when setup using
> scsi_add_host/scsi_scan_host in your init routine and call
> scsi_remove_host/ scsi_host_put in the module exit routine.
Fair enough, I just noticed that scsi_module.c is deprecated. My patch is
flogging a dead horse.
I guess that those who require the legacy NCR5380 drivers (being
mac_scsi.c, dtc.c, t128.c, pas16.c and g_NCR5380.c) can use CONFIG_HOTPLUG
to avoid the problem.
> see qla1280.c for an example that does this for the 2.6 case and to ease
> your porting also has the 2.4 code ifdefed so you have the direct
> comparism.
Having qla1280.c as a guide will help, thanks. My next question is, what
does a NuBus architecture do in place of pci_(un)register_driver?
My main reservation about embarking on this is that I don't think mac_scsi
ever actually worked under 2.6 (or 2.5?) kernels. I'm not competent enough
to submit a good, untested patch for a broken driver. Maybe the best thing
is to make it work before worrying about style. At least then I can test
my work.
To that end, I've included a boot log below. Maybe someone familiar with
the NCR5380 driver can make some sense of the failure?
-f
Linux version 2.6.10-m68k (fthain@nippy) (gcc version 3.4.3) #6 Fri Mar 11 09:10:02 EST 2005
Detected Macintosh model: 27
Penguin bootinfo data:
Video: addr 0x60b00000 row 0x280 depth 8 dimensions 640 x 480
Videological 0xf0300000 phys. 0x60b00000, SCC at 0x50f04000
Boottime: 0xe7bb738f GMTBias: 0x0
Machine ID: 27 CPUid: 0x1 memory size: 0x8
VIA1 at 50f00000 is a 6522 or clone
VIA2 at 50f26000 is an RBV
Apple Macintosh LC III
On node 0 totalpages: 2048
DMA zone: 2048 pages, LIFO batch:1
Normal zone: 0 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: ro root=/dev/sdb4 init=/boot.sh debug debug=ser console=tty0
Killing onboard sonic... Done.
PID hash table entries: 64 (order: 6, 1024 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 5452k/8192k available (2028k kernel code, 568k data, 120k init)
Calibrating delay loop... 6.11 BogoMIPS (lpj=30592)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
NET: Registered protocol family 16
NuBus: Scanning NuBus slots.
SCSI subsystem initialized
audit: initializing netlink socket (disabled)
audit(0.860:0): initialized
macfb: framebuffer at 0x60b00000, mapped to 0xd0000000, size 300k
macfb: mode is 640x480x8, linelength=640
macfb: scrolling: redraw
fbcon_startup: No VBL detected, using timer based cursor.
mac_delete_irq: tried to remove invalid irq
Console: switching to colour frame buffer device 80x30
fb0: Macintosh Sonora built-in frame buffer device
io scheduler noop registered
io scheduler anticipatory registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with
idebus=xx
Macintosh SCSI: resetting the SCSI bus...<6> done
scsi0: generic 5380 at port 50F10000 irq<6> 19<6> options CAN_QUEUE=16 CMD_PER_LUN=2 release=2<6>
scsi0: generic options AUTOSENSE PSEUDO DMA USLEEP, USLEEP_POLL=20 USLEEP_SLEEP=2 generic release=7
scsi0 :
elevator: using anticipatory as default io scheduler
blk_queue_max_hw_segments: set to minimum 1
Vendor: QUANTUM Model: CTS80S Rev: 4.2
Type: Direct-Access ANSI SCSI revision: 02
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
Vendor: CONNER Model: CP30540 SUN0535 Rev: B0CD
Type: Direct-Access ANSI SCSI revision: 02
blk_queue_max_hw_segments: set to minimum 1
SCSI device sda: 166200 512-byte hdwr sectors (85 MB)
scsi0 : aborting command
scsi0 : destination target 0, lun 0
command = Mode Sense 00 08 00 20 00
NCR5380 core release=7.
Base Addr: 0x00000 io_port: 50f10000 IRQ: 19.
scsi0 : destination target 0, lun 0
command = 26 (0x1a)00 08 00 20 00
scsi0: issue_queue
scsi0: disconnected_queue
scsi0 : aborting command
scsi0 : destination target 0, lun 0
command = Mode Sense 00 08 00 20 00
NCR5380 core release=7.
Base Addr: 0x00000 io_port: 50f10000 IRQ: 19.
scsi0 : destination target 0, lun 0
command = 26 (0x1a)00 08 00 20 00
scsi0: issue_queue
scsi0: disconnected_queue
NCR5380 core release=7.
Base Addr: 0x00000 io_port: 50f10000 IRQ: 19.
scsi0 : destination target 0, lun 0
command = 26 (0x1a)00 08 00 20 00
scsi0: issue_queue
scsi0: disconnected_queue
Data read fault at 0x667a26b9 in Super Data (pc=0x149b6a)
BAD KERNEL BUSERR
Oops: 00000000
Modules linked in:
PC: [<00149b6a>] macscsi_intr+0x1a/0x74
SR: 2700 SP: 003c1e4c a2: 0031c420
d0: 00002000 d1: 00000000 d2: 00002000 d3: 00000000
d4: 00000001 d5: 00000013 a0: 667a2669 a1: 50f26000
Process scsi_eh_0 (pid: 11, stackpage=0031d420)
Stack from 003c1e4c:
00000000 00002000 00000000 00000001 00000013 667a2669 50f26000 0031c420
00002000 ffffffff 00000000 27000014 9b6ab008 1eec0755 120049c1 667a26b9
667a26b9 00002000 10280050 00149b72 00149b70 00149b6e 667a26ff 00500064
000ff487 00000001 50f00000 00003c18 00000000 80080000 667a26b9 00000000
00000040 00149b66 00002200 00000013 00000013 00000013 00242164 003c1f4c
00007d30 00000013 00149b50 003c1f4c 00002008 00000008 00001c13 003bdc90
Call Trace: [<00008f00>] via2_irq+0x6e/0x96
[<00002000>] _start+0x0/0x8
[<00141372>] __scsi_iterate_devices+0x0/0x5e
[<00001000>] _stext+0x0/0x1000
[<00003d90>] process_int+0x4c/0x62
[<000024a0>] inthandler+0x2a/0x2c
[<0001a36f>] sys_sched_rr_get_interval+0xb/0xa6
[<00002000>] _start+0x0/0x8
[<00141372>] __scsi_iterate_devices+0x0/0x5e
[<00001000>] _stext+0x0/0x1000
[<00007780>] parse_booter+0x188/0x58a
[<0014aa12>] macscsi_bus_reset+0x1a/0x26
[<00143a4e>] scsi_try_bus_reset+0x44/0xb2
[<001442fc>] scsi_error_handler+0x77c/0x844
[<00186ad0>] tcp_write_timer+0x6a/0x5f2
[<00001000>] _stext+0x0/0x1000
[<00143b80>] scsi_error_handler+0x0/0x844
[<00002762>] kernel_thread+0x3c/0x50
Kernel panic - not syncing: Aiee, killing interrupt handler!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-07 13:45 ` Finn Thain
@ 2005-03-07 17:53 ` Brad Boyer
2005-03-07 23:42 ` Kenn Humborg
0 siblings, 1 reply; 9+ messages in thread
From: Brad Boyer @ 2005-03-07 17:53 UTC (permalink / raw)
To: Finn Thain
Cc: Christoph Hellwig, James.Bottomley, linux scsi,
Geert Uytterhoeven, Noah Misch, linux m68k
On Tue, Mar 08, 2005 at 12:45:28AM +1100, Finn Thain wrote:
> Having qla1280.c as a guide will help, thanks. My next question is, what
> does a NuBus architecture do in place of pci_(un)register_driver?
Eventually, you should use macio_(un)register_driver. However, I
don't have the support quite finished for mac68k. If I get some
time to work on it, I have most of the code written. It's close
enough that it should work on nubus-pmac, and I passed some
preliminary versions of the code off to them.
> My main reservation about embarking on this is that I don't think mac_scsi
> ever actually worked under 2.6 (or 2.5?) kernels. I'm not competent enough
> to submit a good, untested patch for a broken driver. Maybe the best thing
> is to make it work before worrying about style. At least then I can test
> my work.
I certainly never got it to work, but I only tried on my IIfx which
doesn't have exactly the same version of the chip anyway.
> To that end, I've included a boot log below. Maybe someone familiar with
> the NCR5380 driver can make some sense of the failure?
Looks to me like the interrupt came in after the driver already
decided to give up for some reason. I had a big problem with that
while I was trying to fix the driver to use DMA on the IIfx. I
never did get it to give me the interrupt for dma completion
before the scsi mid layer timed out.
Brad Boyer
flar@allandria.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-07 17:53 ` Brad Boyer
@ 2005-03-07 23:42 ` Kenn Humborg
2005-03-08 15:16 ` mac_scsi boot crash, was " Finn Thain
0 siblings, 1 reply; 9+ messages in thread
From: Kenn Humborg @ 2005-03-07 23:42 UTC (permalink / raw)
To: Brad Boyer
Cc: Finn Thain, Christoph Hellwig, James.Bottomley, linux scsi,
Geert Uytterhoeven, Noah Misch, linux m68k
On Mon, Mar 07, 2005 at 09:53:22AM -0800, Brad Boyer wrote:
> On Tue, Mar 08, 2005 at 12:45:28AM +1100, Finn Thain wrote:
> > My main reservation about embarking on this is that I don't think mac_scsi
> > ever actually worked under 2.6 (or 2.5?) kernels. I'm not competent enough
> > to submit a good, untested patch for a broken driver. Maybe the best thing
> > is to make it work before worrying about style. At least then I can test
> > my work.
>
> I certainly never got it to work, but I only tried on my IIfx which
> doesn't have exactly the same version of the chip anyway.
>
> > To that end, I've included a boot log below. Maybe someone familiar with
> > the NCR5380 driver can make some sense of the failure?
>
> Looks to me like the interrupt came in after the driver already
> decided to give up for some reason. I had a big problem with that
> while I was trying to fix the driver to use DMA on the IIfx. I
> never did get it to give me the interrupt for dma completion
> before the scsi mid layer timed out.
It broke in 2.6.9 for us Linux/VAX guys.
Try the NCR5380_set_timer() change from this patch:
http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg01499.html
Later,
Kenn
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mac_scsi boot crash, was Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-07 23:42 ` Kenn Humborg
@ 2005-03-08 15:16 ` Finn Thain
2005-03-08 17:39 ` Brad Boyer
0 siblings, 1 reply; 9+ messages in thread
From: Finn Thain @ 2005-03-08 15:16 UTC (permalink / raw)
To: Kenn Humborg; +Cc: Brad Boyer, linux scsi, linux m68k
On Mon, 7 Mar 2005, Kenn Humborg wrote:
> On Mon, Mar 07, 2005 at 09:53:22AM -0800, Brad Boyer wrote:
> > ...
> > Looks to me like the interrupt came in after the driver already
> > decided to give up for some reason. I had a big problem with that
> > while I was trying to fix the driver to use DMA on the IIfx. I never
> > did get it to give me the interrupt for dma completion before the scsi
> > mid layer timed out.
>
> It broke in 2.6.9 for us Linux/VAX guys.
>
> Try the NCR5380_set_timer() change from this patch:
>
> http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg01499.html
That seems to have helped. It still crashes with the same bus error, but
the preceding issue/disconnect/abort cycle is gone now. Log is below.
Hopefully I'll get a chance to look at the bus error soon.
BTW, I found your patch is available here intact,
http://article.gmane.org/gmane.linux.scsi/14617/raw
Thanks for your help.
-f
Linux version 2.6.10-m68k (fthain@nippy) (gcc version 3.4.3) #20 Wed Mar 9 01:42:11 EST 2005
Detected Macintosh model: 27
Penguin bootinfo data:
Video: addr 0x60b00000 row 0x280 depth 8 dimensions 640 x 480
Videological 0xf0300000 phys. 0x60b00000, SCC at 0x50f04000
Boottime: 0xe7c4e54a GMTBias: 0x0
Machine ID: 27 CPUid: 0x1 memory size: 0x8
VIA1 at 50f00000 is a 6522 or clone
VIA2 at 50f26000 is an RBV
Apple Macintosh LC III
On node 0 totalpages: 2048
DMA zone: 2048 pages, LIFO batch:1
Normal zone: 0 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: ro root=/dev/sdb4 init=/boot.sh debug debug=ser console=tty0
Killing onboard sonic... Done.
PID hash table entries: 64 (order: 6, 1024 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 5788k/8192k available (1736k kernel code, 528k data, 116k init)
Calibrating delay loop... 6.11 BogoMIPS (lpj=30592)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
NET: Registered protocol family 16
NuBus: Scanning NuBus slots.
SCSI subsystem initialized
audit: initializing netlink socket (disabled)
audit(0.860:0): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
macfb: framebuffer at 0x60b00000, mapped to 0xd0000000, size 300k
macfb: mode is 640x480x8, linelength=640
macfb: scrolling: redraw
fbcon_startup: No VBL detected, using timer based cursor.
mac_delete_irq: tried to remove invalid irq
Console: switching to colour frame buffer device 80x30
fb0: Macintosh Sonora built-in frame buffer device
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Macintosh SCSI: resetting the SCSI bus...<6> done
scsi0: generic 5380 at port 50F10000 irq<6> 19<6> options CAN_QUEUE=16 CMD_PER_LUN=2 release=2<6>
scsi0: generic options AUTOSENSE PSEUDO DMA USLEEP, USLEEP_POLL=20 USLEEP_SLEEP=2 generic release=7
scsi0 :
elevator: using anticipatory as default io scheduler
blk_queue_max_hw_segments: set to minimum 1
Vendor: QUANTUM Model: CTS80S Rev: 4.2
Type: Direct-Access ANSI SCSI revision: 02
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
blk_queue_max_hw_segments: set to minimum 1
Vendor: CONNER Model: CP30540 SUN0535 Rev: B0CD
Type: Direct-Access ANSI SCSI revision: 02
blk_queue_max_hw_segments: set to minimum 1
SCSI device sda: 166200 512-byte hdwr sectors (85 MB)
SCSI device sda: drive cache: write through
SCSI device sda: 166200 512-byte hdwr sectors (85 MB)
SCSI device sda: drive cache: write through
sda:Data read fault at 0x667a26b9 in Super Data (pc=0x114cec)
BAD KERNEL BUSERR
Oops: 00000000
Modules linked in:
PC: [<00114cec>] macscsi_intr+0x1a/0x74
SR: 2700 SP: 00239e74 a2: 001b34cc
d0: 00232100 d1: 00000100 d2: 00232100 d3: 00000000
d4: 00000001 d5: 00000013 a0: 667a2669 a1: 50f26000
Process swapper (pid: 0, stackpage=001b44cc)
Stack from 00239e74:
00000100 00232100 00000000 00000001 00000013 667a2669 50f26000 001b34cc
00232100 ffffffff 00000000 27000011 4cecb008 0eec0755 120049c1 667a26b9
667a26b9 00002100 10280050 00114cf4 00114cf2 00114cf0 667a26ff 00500064
000ff487 00000001 00000000 00003c18 00000000 80080000 667a26b9 00000000
001f3208 00114ce8 00232200 00000013 00000013 00000013 001f32d0 00239f74
00007d30 00000013 00114cd2 00239f74 0023a008 00000008 00001c13 00002000
Call Trace: [<00008eb8>] via2_irq+0x6e/0x96
[<00186ad0>] __func__.1+0xe6f/0x21576
[<00001000>] _stext+0x0/0x1000
[<00177776>] schedule+0x0/0x4d2
[<00003d90>] process_int+0x4c/0x62
[<000024a0>] inthandler+0x2a/0x2c
[<00186ad0>] __func__.1+0xe6f/0x21576
[<00001000>] _stext+0x0/0x1000
[<0000261c>] default_idle+0x0/0xe
[<00186ad0>] __func__.1+0xe6f/0x21576
[<00001000>] _stext+0x0/0x1000
[<0000261c>] default_idle+0x0/0xe
[<00002640>] cpu_idle+0x16/0x22
[<0001c778>] printk+0x0/0x18
[<00002022>] rest_init+0x1a/0x1c
[<0021d03c>] start_kernel+0x1b8/0x1c4
[<0021b3d2>] __start+0x3d2/0xa48
Kernel panic - not syncing: Aiee, killing interrupt handler!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: mac_scsi boot crash, was Re: [PATCH] m68k link error and NCR5380_exit()
2005-03-08 15:16 ` mac_scsi boot crash, was " Finn Thain
@ 2005-03-08 17:39 ` Brad Boyer
2005-03-09 12:00 ` [PATCH] mac_scsi boot crash fix Finn Thain
0 siblings, 1 reply; 9+ messages in thread
From: Brad Boyer @ 2005-03-08 17:39 UTC (permalink / raw)
To: Finn Thain; +Cc: Kenn Humborg, linux scsi, linux m68k
On Wed, Mar 09, 2005 at 02:16:45AM +1100, Finn Thain wrote:
> That seems to have helped. It still crashes with the same bus error, but
> the preceding issue/disconnect/abort cycle is gone now. Log is below.
> Hopefully I'll get a chance to look at the bus error soon.
I notice it got through all the device identify stuff. It dies as soon
as it actually tries to tranfer a real block of data (the partition map)
and do something useful with it. Could you see if disabling PDMA helps?
There's a way to do it with the command line, but that is messy. If you
don't mind recompiling, just set the FLAG_NO_PSEUDO_DMA flag like it
always does for the IIfx case. The performance will be terrible, but
it might help narrow down the problem.
Brad Boyer
flar@allandria.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] mac_scsi boot crash fix
2005-03-08 17:39 ` Brad Boyer
@ 2005-03-09 12:00 ` Finn Thain
2005-03-09 12:06 ` Kenn Humborg
0 siblings, 1 reply; 9+ messages in thread
From: Finn Thain @ 2005-03-09 12:00 UTC (permalink / raw)
To: Brad Boyer; +Cc: Kenn Humborg, Geert Uytterhoeven, linux scsi, linux m68k
I found the bus error, the trivial fix is below.
I don't know if this patch will work for others quite yet, since my kernel
has had some work done to slow interrupt handling. I intend to post that
patch soon.
On Tue, 8 Mar 2005, Brad Boyer wrote:
> I notice it got through all the device identify stuff. It dies as soon
> as it actually tries to tranfer a real block of data (the partition map)
> and do something useful with it. Could you see if disabling PDMA helps?
I tested both: my Daystar Mac II now works great with or without PDMA, so
hopefully the IIfx will work too.
Kenn, my macs like your patch :-) Did it make it upstream?
-f
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
--- a/drivers/scsi/mac_scsi.c 2005-03-09 22:21:01.369397570 +1100
+++ b/drivers/scsi/mac_scsi.c 2005-03-09 22:02:12.594082086 +1100
@@ -302,7 +302,7 @@ int macscsi_detect(Scsi_Host_Template *
if (instance->irq != SCSI_IRQ_NONE)
if (request_irq(instance->irq, NCR5380_intr, IRQ_FLG_SLOW,
- "ncr5380", NCR5380_intr)) {
+ "ncr5380", instance)) {
printk(KERN_WARNING "scsi%d: IRQ%d not free, interrupts disabled\n",
instance->host_no, instance->irq);
instance->irq = SCSI_IRQ_NONE;
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH] mac_scsi boot crash fix
2005-03-09 12:00 ` [PATCH] mac_scsi boot crash fix Finn Thain
@ 2005-03-09 12:06 ` Kenn Humborg
0 siblings, 0 replies; 9+ messages in thread
From: Kenn Humborg @ 2005-03-09 12:06 UTC (permalink / raw)
To: Brad Boyer
Cc: Kenn Humborg, Geert Uytterhoeven, linux scsi, linux m68k,
Finn Thain
> Kenn, my macs like your patch :-) Did it make it upstream?
Yes.
http://linux-scsi.bkbits.net:8080/scsi-misc-2.6/cset@422c0597IwLRDp_6wcde
xrPCoj1REg?nav=index.html|ChangeSet@-3d
Later,
Kenn
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2005-03-09 12:07 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.61.0502110155440.7310@loopy.telegraphics.com.au>
[not found] ` <20050210171518.GA22265@pants.nu>
[not found] ` <Pine.LNX.4.61.0502111930340.11381@loopy.telegraphics.com.au>
[not found] ` <Pine.LNX.4.61.0502121539440.20941@loopy.telegraphics.com.au>
[not found] ` <20050212075645.GA30669@pants.nu>
[not found] ` <Pine.LNX.4.61.0502122135230.21876@loopy.telegraphics.com.au>
[not found] ` <20050213040948.GA10198@orchestra.cs.caltech.edu>
[not found] ` <Pine.LNX.4.61.0502131618470.25204@loopy.telegraphics.com.au>
[not found] ` <20050213063225.GA17415@orchestra.cs.caltech.edu>
[not found] ` <Pine.LNX.4.61.0502131736300.25553@loopy.telegraphics.com.au>
[not found] ` <20050213075506.GA18622@orchestra.cs.caltech.edu>
[not found] ` <Pine.LNX.4.61.0502212233290.15372@loopy.telegraphics.com.au>
2005-03-07 6:30 ` [PATCH] m68k link error and NCR5380_exit() Finn Thain
2005-03-07 6:37 ` Christoph Hellwig
2005-03-07 13:45 ` Finn Thain
2005-03-07 17:53 ` Brad Boyer
2005-03-07 23:42 ` Kenn Humborg
2005-03-08 15:16 ` mac_scsi boot crash, was " Finn Thain
2005-03-08 17:39 ` Brad Boyer
2005-03-09 12:00 ` [PATCH] mac_scsi boot crash fix Finn Thain
2005-03-09 12:06 ` Kenn Humborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox