Re: [PATCH v2] ata: pata_via: Force PIO for ATAPI devices on VT6415/VT6330

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

 



On 2025/05/19 10:49, Tasos Sahanidis wrote:
> The controller has a hardware bug that can hard hang the system when
> doing ATAPI DMAs without any trace of what happened. Depending on the
> device attached, it can also prevent the system from booting.
> 
> In this case, the system hangs when reading the ATIP from optical media
> with cdrecord -vvv -atip on an _NEC DVD_RW ND-4571A 1-01 and an
> Optiarc DVD RW AD-7200A 1.06 attached to an ASRock 990FX Extreme 4,
> running at UDMA/33.
> 
> The issue can be reproduced by running the same command with a cygwin
> build of cdrecord on WinXP, although it requires more attempts to cause
> it. The hang in that case is also resolved by forcing PIO. It doesn't
> appear that VIA has produced any drivers for that OS, thus no known
> workaround exists.
> 
> HDDs attached to the controller do not suffer from any DMA issues.
> 
> Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/916677
> Signed-off-by: Tasos Sahanidis <tasos@xxxxxxxxxxxx>

Doesn't this need a Cc: stable tag ? I can add it when applying.


> ---
>  v1 -> v2: Wrap long line
> 
>  drivers/ata/pata_via.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
> index 696b99720dcb..d82728a01832 100644
> --- a/drivers/ata/pata_via.c
> +++ b/drivers/ata/pata_via.c
> @@ -368,7 +368,8 @@ static unsigned int via_mode_filter(struct ata_device *dev, unsigned int mask)
>  	}
>  
>  	if (dev->class == ATA_DEV_ATAPI &&
> -	    dmi_check_system(no_atapi_dma_dmi_table)) {
> +	    (dmi_check_system(no_atapi_dma_dmi_table) ||
> +	     config->id == PCI_DEVICE_ID_VIA_6415)) {
>  		ata_dev_warn(dev, "controller locks up on ATAPI DMA, forcing PIO\n");
>  		mask &= ATA_MASK_PIO;
>  	}


-- 
Damien Le Moal
Western Digital Research




[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