From: Albert Lee <albertcc@tw.ibm.com>
To: John Williams <john@pond-weed.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: Failed to set xfermode on LITE-ON LTR-40125S
Date: Fri, 26 Jan 2007 11:50:11 +0800 [thread overview]
Message-ID: <45B97A73.6050703@tw.ibm.com> (raw)
In-Reply-To: <20070125201750.2adbd57c@buffy.scoobygang>
John Williams wrote:
> Hello,
>
> I just tried the libata support for PATA in kernel 2.6.20-rc5 and I got
> this:
>
> scsi1 : pata_sis
> ata2.00: ATAPI, max UDMA/66
> ata2.01: ATAPI, max UDMA/33
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: limiting speed to UDMA/25
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: limiting speed to PIO0
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: disabled
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: failed to set xfermode (err_mask=0x40)
> ata2.00: limiting speed to UDMA/25
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/25
>
> The offending device is a LITE-ON LTR-40125S CDRW attached to SIS 513
> IDE (rev d0)
>
> I found a patch here:
> http://readlist.com/lists/vger.kernel.org/linux-kernel/45/228948.html
> which cures the problem for me. Is this the recommended patch for this
> problem? If not, I would be happy to test alternative solutions.
>
Tejun fixed the problem by ATA_FLAG_SETXFER_POLLING for pata_via.
Maybe the same fix works for pata_sis.
Could you please try the attached patch, thanks.
--
albert
--- linux-2.6.20-rc5-mod/drivers/ata/pata_sis.c~ 2007-01-23 11:47:40.000000000 +0800
+++ linux-2.6.20-rc5-mod/drivers/ata/pata_sis.c 2007-01-26 11:43:54.000000000 +0800
@@ -718,7 +718,7 @@ static const struct ata_port_operations
static struct ata_port_info sis_info = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.mwdma_mask = 0x07,
.udma_mask = 0,
@@ -726,7 +726,7 @@ static struct ata_port_info sis_info = {
};
static struct ata_port_info sis_info33 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.mwdma_mask = 0x07,
.udma_mask = ATA_UDMA2, /* UDMA 33 */
@@ -734,35 +734,35 @@ static struct ata_port_info sis_info33 =
};
static struct ata_port_info sis_info66 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA4, /* UDMA 66 */
.port_ops = &sis_66_ops,
};
static struct ata_port_info sis_info100 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA5,
.port_ops = &sis_100_ops,
};
static struct ata_port_info sis_info100_early = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.udma_mask = ATA_UDMA5,
.pio_mask = 0x1f, /* pio0-4 */
.port_ops = &sis_66_ops,
};
static struct ata_port_info sis_info133 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA6,
.port_ops = &sis_133_ops,
};
static struct ata_port_info sis_info133_early = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA6,
.port_ops = &sis_133_early_ops,
next prev parent reply other threads:[~2007-01-26 3:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-25 20:17 Failed to set xfermode on LITE-ON LTR-40125S John Williams
2007-01-26 3:50 ` Albert Lee [this message]
2007-01-26 8:15 ` John Williams
2007-01-26 11:33 ` Alan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45B97A73.6050703@tw.ibm.com \
--to=albertcc@tw.ibm.com \
--cc=albertl@mail.com \
--cc=john@pond-weed.com \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.