Re: [patch 3/3] pata: "I do not think it means, what you think it means."

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff,

Could we get this merged ASAP (it was first posted on 26th February)?

This patch fixes data corruption for libata PATA ServerWorks and HPT drivers.

[ IDE users are already leaving happy life since they are not affected
  (modes masking has always worked correctly in the original drivers)...

  Can we make life happy also for libata PATA users? :) ]

On Wednesday 05 March 2008, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
> 
> When masking mask out the modes that are unsupported not the ones that are
> supported.  This makes life happier.
> 
> [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
> Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
> Cc: Jeff Garzik <jeff@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> 
>  drivers/ata/pata_hpt366.c      |    6 +++---
>  drivers/ata/pata_hpt37x.c      |    6 +++---
>  drivers/ata/pata_serverworks.c |    2 +-
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff -puN drivers/ata/pata_hpt366.c~pata-i-do-not-think-it-means-what-you-think-it-means drivers/ata/pata_hpt366.c
> --- a/drivers/ata/pata_hpt366.c~pata-i-do-not-think-it-means-what-you-think-it-means
> +++ a/drivers/ata/pata_hpt366.c
> @@ -27,7 +27,7 @@
>  #include <linux/libata.h>
>  
>  #define DRV_NAME	"pata_hpt366"
> -#define DRV_VERSION	"0.6.1"
> +#define DRV_VERSION	"0.6.2"
>  
>  struct hpt_clock {
>  	u8	xfer_speed;
> @@ -180,9 +180,9 @@ static unsigned long hpt366_filter(struc
>  		if (hpt_dma_blacklisted(adev, "UDMA",  bad_ata33))
>  			mask &= ~ATA_MASK_UDMA;
>  		if (hpt_dma_blacklisted(adev, "UDMA3", bad_ata66_3))
> -			mask &= ~(0x07 << ATA_SHIFT_UDMA);
> +			mask &= ~(0xF8 << ATA_SHIFT_UDMA);
>  		if (hpt_dma_blacklisted(adev, "UDMA4", bad_ata66_4))
> -			mask &= ~(0x0F << ATA_SHIFT_UDMA);
> +			mask &= ~(0xF0 << ATA_SHIFT_UDMA);
>  	}
>  	return ata_pci_default_filter(adev, mask);
>  }
> diff -puN drivers/ata/pata_hpt37x.c~pata-i-do-not-think-it-means-what-you-think-it-means drivers/ata/pata_hpt37x.c
> --- a/drivers/ata/pata_hpt37x.c~pata-i-do-not-think-it-means-what-you-think-it-means
> +++ a/drivers/ata/pata_hpt37x.c
> @@ -24,7 +24,7 @@
>  #include <linux/libata.h>
>  
>  #define DRV_NAME	"pata_hpt37x"
> -#define DRV_VERSION	"0.6.9"
> +#define DRV_VERSION	"0.6.11"
>  
>  struct hpt_clock {
>  	u8	xfer_speed;
> @@ -281,7 +281,7 @@ static unsigned long hpt370_filter(struc
>  		if (hpt_dma_blacklisted(adev, "UDMA", bad_ata33))
>  			mask &= ~ATA_MASK_UDMA;
>  		if (hpt_dma_blacklisted(adev, "UDMA100", bad_ata100_5))
> -			mask &= ~(0x1F << ATA_SHIFT_UDMA);
> +			mask &= ~(0xE0 << ATA_SHIFT_UDMA);
>  	}
>  	return ata_pci_default_filter(adev, mask);
>  }
> @@ -297,7 +297,7 @@ static unsigned long hpt370a_filter(stru
>  {
>  	if (adev->class == ATA_DEV_ATA) {
>  		if (hpt_dma_blacklisted(adev, "UDMA100", bad_ata100_5))
> -			mask &= ~ (0x1F << ATA_SHIFT_UDMA);
> +			mask &= ~(0xE0 << ATA_SHIFT_UDMA);
>  	}
>  	return ata_pci_default_filter(adev, mask);
>  }
> diff -puN drivers/ata/pata_serverworks.c~pata-i-do-not-think-it-means-what-you-think-it-means drivers/ata/pata_serverworks.c
> --- a/drivers/ata/pata_serverworks.c~pata-i-do-not-think-it-means-what-you-think-it-means
> +++ a/drivers/ata/pata_serverworks.c
> @@ -226,7 +226,7 @@ static unsigned long serverworks_csb_fil
>  
>  	for (i = 0; (p = csb_bad_ata100[i]) != NULL; i++) {
>  		if (!strcmp(p, model_num))
> -			mask &= ~(0x1F << ATA_SHIFT_UDMA);
> +			mask &= ~(0xE0 << ATA_SHIFT_UDMA);
>  	}
>  	return ata_pci_default_filter(adev, mask);
>  }
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux