LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [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	[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 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).