* [PATCH]: Fix IDE host_flags regression.
@ 2007-10-22 9:09 David Miller
2007-10-23 19:50 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2007-10-22 9:09 UTC (permalink / raw)
To: torvalds; +Cc: bzolnier, linux-kernel
Bart, please test your changes.
Thank you.
[IDE]: Expand hwif->host_flags so that it fits new flags.
This fixes regressions added by:
238e4f142c33bb34440cc64029dde7b9fbc4e65f
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 2e4b8dd..4ed4777 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -667,7 +667,7 @@ typedef struct hwif_s {
u8 straight8; /* Alan's straight 8 check */
u8 bus_state; /* power state of the IDE bus */
- u16 host_flags;
+ u32 host_flags;
u8 pio_mask;
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH]: Fix IDE host_flags regression.
2007-10-22 9:09 [PATCH]: Fix IDE host_flags regression David Miller
@ 2007-10-23 19:50 ` Bartlomiej Zolnierkiewicz
2007-10-23 21:45 ` Alan Cox
0 siblings, 1 reply; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-10-23 19:50 UTC (permalink / raw)
To: David Miller; +Cc: torvalds, linux-kernel
Hi,
Thanks for debugging & fixing this.
On Monday 22 October 2007, David Miller wrote:
>
> Bart, please test your changes.
Well, I do. However due to hardware diversity it is not practically
possible to test them all myself...
> Thank you.
>
> [IDE]: Expand hwif->host_flags so that it fits new flags.
>
> This fixes regressions added by:
> 238e4f142c33bb34440cc64029dde7b9fbc4e65f
Yeah, sorry for that. ->host flags were expanded in struct ide_pci_device_s
(now struct ide_port_info) but not in struct hwif_s. This went unnoticed
because majority of new flags are used only through struct ide_pci_device_s.
The exceptions are:
- IDE_HFLAG_NO_LBA48 (only user is trm290, exotic hardware)
- IDE_HFLAG_NO_LBA48_DMA (only user is alim15x3, revisions <= 0xC4)
- IDE_HFLAG_ERROR_STOPS_FIFO (the error path of pdc202xx_{old,new})
What worries me a bit is that commit 238e4f142c33bb34440cc64029dde7b9fbc4e65f
was in -mm since 2.6.23-rc4-mm1 (released on Sep 1 2007) and nobody reported
the issue earlier...
> Signed-off-by: David S. Miller <davem@davemloft.net>
>
> diff --git a/include/linux/ide.h b/include/linux/ide.h
> index 2e4b8dd..4ed4777 100644
> --- a/include/linux/ide.h
> +++ b/include/linux/ide.h
> @@ -667,7 +667,7 @@ typedef struct hwif_s {
> u8 straight8; /* Alan's straight 8 check */
> u8 bus_state; /* power state of the IDE bus */
>
> - u16 host_flags;
> + u32 host_flags;
>
> u8 pio_mask;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH]: Fix IDE host_flags regression.
2007-10-23 19:50 ` Bartlomiej Zolnierkiewicz
@ 2007-10-23 21:45 ` Alan Cox
0 siblings, 0 replies; 3+ messages in thread
From: Alan Cox @ 2007-10-23 21:45 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: David Miller, torvalds, linux-kernel
> - IDE_HFLAG_ERROR_STOPS_FIFO (the error path of pdc202xx_{old,new})
I've been playing with this a bit in libata - it seems the pdc202xx is a
bit more complicated. An error doesn't stop the FIFO, a reset does.
The problem thus seems to be triggered ultimately by the fact we call the
timeout method before doing a FIFO drain in some cases, and also that old
IDE tries to use PIO to flush a DRQ when the failing taskfile is a DMA
operation not PIO..
Alan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-23 21:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-22 9:09 [PATCH]: Fix IDE host_flags regression David Miller
2007-10-23 19:50 ` Bartlomiej Zolnierkiewicz
2007-10-23 21:45 ` Alan Cox
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.