Re: 2.6.19: ALi M5229 - CD-ROM not found with pata_ali

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

 



On Fri, 1 Dec 2006 23:35:28 +0300 Andrey Borzenkov wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Thursday 22 June 2006 00:04, Andrey Borzenkov wrote:
> > Just in case you have missed this on LKML :)
> >
> > Alan Cox wrote:
> > > http://zeniv.linux.org.uk/~alan/IDE
> > >
> > > This is basically a resync versus 2.6.17, the head of the PATA tree is
> > > now built against Jeffs tree with revised error handling and the like.
> >
> > Running vanilla 2.6.17 + ide1 patch on ALi M5229 does not find CD-ROM.
> > Notice "ata2: command 0xa0 timeout" below.
> >
> 
> Still the same in 2.6.19 + suspend pata_ali patch. The only way I can get 
> CD-ROM is with
> 
> options pata_ali atapi_max_xfer_mask=0x7f
> 
> and patch
> 
> diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
> index 1d695df..a0b9e49 100644
> - --- a/drivers/ata/pata_ali.c
> +++ b/drivers/ata/pata_ali.c
> @@ -329,6 +329,16 @@ static void ali_lock_sectors(struct ata_
>         adev->max_sectors = 255;
>  }
> 
> +static unsigned long atapi_max_xfer_mask = ~0;
> +module_param(atapi_max_xfer_mask, ulong, 644);
                                            ^^^
BTW:                                        0644


> +
> +static unsigned long ali_mode_filter(const struct ata_port *ap, struct 
> ata_devi
> ce *adev, unsigned long xfer_mask)
> +{
> +       if (adev->class == ATA_DEV_ATAPI)
> +               xfer_mask &= atapi_max_xfer_mask;
> +       return ata_pci_default_filter(ap, adev, xfer_mask);
> +}
> +
>  static struct scsi_host_template ali_sht = {
>         .module                 = THIS_MODULE,
>         .name                   = DRV_NAME,
> @@ -428,7 +438,7 @@ static struct ata_port_operations ali_c2
>         .port_disable   = ata_port_disable,
>         .set_piomode    = ali_set_piomode,
>         .set_dmamode    = ali_set_dmamode,
> - -       .mode_filter    = ata_pci_default_filter,
> +       .mode_filter    = ali_mode_filter,
>         .tf_load        = ata_tf_load,
>         .tf_read        = ata_tf_read,
>         .check_status   = ata_check_status,
> 
> allowing even MWDMA results in the same timeouts and CD-ROM not found.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux