* [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change
@ 2009-01-15 8:42 Mikael Pettersson
2009-01-20 8:33 ` Mikael Pettersson
0 siblings, 1 reply; 5+ messages in thread
From: Mikael Pettersson @ 2009-01-15 8:42 UTC (permalink / raw)
To: alan; +Cc: linux-ide
One of my machines is an Intel 815EP chipset box with
an 82801BA IDE controller (8086:244b rev 05) and two
ATAPI devices on the second channel (the boot disk is
connected to a PDC20269).
With 2.6.29-rc1 this machine hangs hard during boot, when
init starts udev. There are no messages on the console and
not even sysrq gets any reaction.
Reverting the 2.6.29-rc1 change which made ata_piix inherit
the bmdma32 port ops makes the machine boot ok again. (Patch below.)
I'm guessing the 32-bit I/O stuff doesn't work on this controller
or these ATAPI devices.
Partial dmesg from 2.6.29-rc1 with the bmdma32 change reverted:
ata_piix 0000:00:1f.1: version 2.12
ata_piix 0000:00:1f.1: setting latency timer to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xf000 irq 14
ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xf008 irq 15
ata2.00: ATAPI: CRD-8320B, 1.12, max MWDMA2
ata2.01: ATAPI: Hewlett-Packard CD-Writer Plus 9100, 1.0c, max UDMA/33
ata2.00: configured for MWDMA2
ata2.01: configured for UDMA/33
scsi 1:0:0:0: CD-ROM GoldStar CD-ROM CRD-8320B 1.12 PQ: 0 ANSI: 5
scsi 1:0:1:0: CD-ROM HP CD-Writer+ 9100 1.0c PQ: 0 ANSI: 5
/Mikael
--- linux-2.6.29-rc1/drivers/ata/ata_piix.c.~1~ 2009-01-13 23:35:23.000000000 +0100
+++ linux-2.6.29-rc1/drivers/ata/ata_piix.c 2009-01-14 22:57:37.000000000 +0100
@@ -310,7 +310,7 @@ static struct scsi_host_template piix_sh
};
static struct ata_port_operations piix_pata_ops = {
- .inherits = &ata_bmdma32_port_ops,
+ .inherits = &ata_bmdma_port_ops,
.cable_detect = ata_cable_40wire,
.set_piomode = piix_set_piomode,
.set_dmamode = piix_set_dmamode,
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change
2009-01-15 8:42 [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change Mikael Pettersson
@ 2009-01-20 8:33 ` Mikael Pettersson
2009-01-25 1:03 ` Tejun Heo
0 siblings, 1 reply; 5+ messages in thread
From: Mikael Pettersson @ 2009-01-20 8:33 UTC (permalink / raw)
To: Mikael Pettersson; +Cc: alan, linux-ide
Mikael Pettersson writes:
> One of my machines is an Intel 815EP chipset box with
> an 82801BA IDE controller (8086:244b rev 05) and two
> ATAPI devices on the second channel (the boot disk is
> connected to a PDC20269).
>
> With 2.6.29-rc1 this machine hangs hard during boot, when
> init starts udev. There are no messages on the console and
> not even sysrq gets any reaction.
>
> Reverting the 2.6.29-rc1 change which made ata_piix inherit
> the bmdma32 port ops makes the machine boot ok again. (Patch below.)
> I'm guessing the 32-bit I/O stuff doesn't work on this controller
> or these ATAPI devices.
>
> Partial dmesg from 2.6.29-rc1 with the bmdma32 change reverted:
>
> ata_piix 0000:00:1f.1: version 2.12
> ata_piix 0000:00:1f.1: setting latency timer to 64
> scsi0 : ata_piix
> scsi1 : ata_piix
> ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xf000 irq 14
> ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xf008 irq 15
> ata2.00: ATAPI: CRD-8320B, 1.12, max MWDMA2
> ata2.01: ATAPI: Hewlett-Packard CD-Writer Plus 9100, 1.0c, max UDMA/33
> ata2.00: configured for MWDMA2
> ata2.01: configured for UDMA/33
> scsi 1:0:0:0: CD-ROM GoldStar CD-ROM CRD-8320B 1.12 PQ: 0 ANSI: 5
> scsi 1:0:1:0: CD-ROM HP CD-Writer+ 9100 1.0c PQ: 0 ANSI: 5
The problem is still present in 2.6.29-rc2.
More debugging first showed that only the specific machine mentioned
above is affected, as I've tested -rc1 on several other ata_piix boxes
with various oldish disks and cdroms and none of the others triggered
the hang.
Secondly, the hang is due to the HP CD-Writer drive as having only it
on the second port suffices to produce the hang. It doesn't matter if
it's configured as master or slave.
In any event, this shows that using 32-bit I/O ops should also be a
function of the drive you're talking to, not just the controller.
/Mikael
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change
2009-01-20 8:33 ` Mikael Pettersson
@ 2009-01-25 1:03 ` Tejun Heo
2009-01-25 10:23 ` Mikael Pettersson
0 siblings, 1 reply; 5+ messages in thread
From: Tejun Heo @ 2009-01-25 1:03 UTC (permalink / raw)
To: Mikael Pettersson; +Cc: alan, linux-ide
Hello,
Mikael Pettersson wrote:
> The problem is still present in 2.6.29-rc2.
>
> More debugging first showed that only the specific machine mentioned
> above is affected, as I've tested -rc1 on several other ata_piix boxes
> with various oldish disks and cdroms and none of the others triggered
> the hang.
>
> Secondly, the hang is due to the HP CD-Writer drive as having only it
> on the second port suffices to produce the hang. It doesn't matter if
> it's configured as master or slave.
>
> In any event, this shows that using 32-bit I/O ops should also be a
> function of the drive you're talking to, not just the controller.
If you connect the writer to another machine, does it make the machine
hang too?
--
tejun
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change
2009-01-25 1:03 ` Tejun Heo
@ 2009-01-25 10:23 ` Mikael Pettersson
2009-01-31 12:20 ` Mikael Pettersson
0 siblings, 1 reply; 5+ messages in thread
From: Mikael Pettersson @ 2009-01-25 10:23 UTC (permalink / raw)
To: Tejun Heo; +Cc: Mikael Pettersson, alan, linux-ide
Tejun Heo writes:
> Hello,
>
> Mikael Pettersson wrote:
> > The problem is still present in 2.6.29-rc2.
> >
> > More debugging first showed that only the specific machine mentioned
> > above is affected, as I've tested -rc1 on several other ata_piix boxes
> > with various oldish disks and cdroms and none of the others triggered
> > the hang.
> >
> > Secondly, the hang is due to the HP CD-Writer drive as having only it
> > on the second port suffices to produce the hang. It doesn't matter if
> > it's configured as master or slave.
> >
> > In any event, this shows that using 32-bit I/O ops should also be a
> > function of the drive you're talking to, not just the controller.
>
> If you connect the writer to another machine, does it make the machine
> hang too?
I haven't tried it since that machine is at a different geographical
location from my other machines. But I can try it next weekend.
My hang goes away with Hugh Dickins' fix for ata_sff_data_xfer32 [1]
which fixed a CD-ROM error (not hang) on his ata_piix box, and his
patch also fixed a CD-ROM error on a another person's pata_ali box [2].
The patch changes ata_sff_data_xfer32 to use 16-bit PIO instead of 32-bit
on any 1/2/3 byte "slop" after the main payload. But Alan thinks that
AMD chipsets cannot handle that [3]. (One of my test boxes is an old
AMD-chipset Athlon, I can test both my problematic CD-writer and the
possibly AMD-incompatible fix on it next weekend.)
[1] <http://marc.info/?l=linux-kernel&m=123254501314058&w=2>
[2] <http://marc.info/?l=linux-ide&m=123277213928172&w=2>
[3] <http://marc.info/?l=linux-kernel&m=123257958112434&w=2>
/Mikael
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change
2009-01-25 10:23 ` Mikael Pettersson
@ 2009-01-31 12:20 ` Mikael Pettersson
0 siblings, 0 replies; 5+ messages in thread
From: Mikael Pettersson @ 2009-01-31 12:20 UTC (permalink / raw)
To: Mikael Pettersson; +Cc: Tejun Heo, alan, linux-ide
Mikael Pettersson writes:
> Tejun Heo writes:
> > Hello,
> >
> > Mikael Pettersson wrote:
> > > The problem is still present in 2.6.29-rc2.
> > >
> > > More debugging first showed that only the specific machine mentioned
> > > above is affected, as I've tested -rc1 on several other ata_piix boxes
> > > with various oldish disks and cdroms and none of the others triggered
> > > the hang.
> > >
> > > Secondly, the hang is due to the HP CD-Writer drive as having only it
> > > on the second port suffices to produce the hang. It doesn't matter if
> > > it's configured as master or slave.
> > >
> > > In any event, this shows that using 32-bit I/O ops should also be a
> > > function of the drive you're talking to, not just the controller.
> >
> > If you connect the writer to another machine, does it make the machine
> > hang too?
>
> I haven't tried it since that machine is at a different geographical
> location from my other machines. But I can try it next weekend.
I've now tried this CD-Writer on a couple of other boxes.
AMD756 (1022:7409 rev 03), pata_amd
2.6.29-rc3: hang as init starts udev
rc3 + Hugh's libata-sff patch: no hang and no visible issues,
despite this possibly being out of spec for the AMD IDE controller
rc3 + Hugh's patch + Alan's patch: no hang, all ok
440BX/PIIX4 (8086:7111 rev 01), ata_piix
2.6.29-rc3: hang as init starts udev
rc3 + Hugh's libata-sff patch: all ok
430HX/PIIX3 (8086:7010)
2.6.29-rc3: hang during driver init, immediately after drive was identified
rc3 + Hugh's libata-sff patch: all ok
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-01-31 12:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-15 8:42 [BUG] 2.6.29-rc1: ata_piix boot hang due to bmdma32 change Mikael Pettersson
2009-01-20 8:33 ` Mikael Pettersson
2009-01-25 1:03 ` Tejun Heo
2009-01-25 10:23 ` Mikael Pettersson
2009-01-31 12:20 ` Mikael Pettersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).