From: Tejun Heo <htejun@gmail.com>
To: Jeff Garzik <jeff@garzik.org>,
IDE/ATA development list <linux-ide@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
"Rafael J. Wysocki" <rjw@sisk.pl>
Subject: [PATCH #upstream-fixes] libata: use atapi_cmd_type() to determine cmd type instead of transfer size
Date: Tue, 11 Mar 2008 11:35:00 +0900 [thread overview]
Message-ID: <47D5EFD4.2090801@gmail.com> (raw)
pata_ali and pata_it821x were using qc->nbytes to determine whether a
command is data transfer type or not. As now qc->nbytes can be
extended by padding and draining buffers, this tests are not useful
anymore. Use atapi_cmd_type() instead.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/ata/pata_ali.c | 2 +-
drivers/ata/pata_it821x.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
index 7e68edf..8786455 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -295,7 +295,7 @@ static void ali_lock_sectors(struct ata_device *adev)
static int ali_check_atapi_dma(struct ata_queued_cmd *qc)
{
/* If its not a media command, its not worth it */
- if (qc->nbytes < 2048)
+ if (atapi_cmd_type(qc->cdb[0]) == ATAPI_MISC)
return -EOPNOTSUPP;
return 0;
}
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index 109ddd4..f751749 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -564,7 +564,7 @@ static int it821x_check_atapi_dma(struct ata_queued_cmd *qc)
struct it821x_dev *itdev = ap->private_data;
/* Only use dma for transfers to/from the media. */
- if (qc->nbytes < 2048)
+ if (atapi_cmd_type(qc->cdb[0]) == ATAPI_MISC)
return -EOPNOTSUPP;
/* No ATAPI DMA in smart mode */
next reply other threads:[~2008-03-11 2:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-11 2:35 Tejun Heo [this message]
2008-03-11 12:50 ` [PATCH #upstream-fixes] libata: use atapi_cmd_type() to determine cmd type instead of transfer size Rafael J. Wysocki
2008-03-12 13:18 ` Alan Cox
2008-03-17 12:27 ` Jeff Garzik
2008-03-18 8:47 ` [PATCH #upstream-fixes 1/2] libata: implement ata_qc_raw_nbytes() Tejun Heo
2008-03-18 8:56 ` [PATCH #upstream-fixes 2/2] pata_it821x: use raw nbytes in check_atapi_dma Tejun Heo
2008-03-25 2:26 ` [PATCH #upstream-fixes 1/2] libata: implement ata_qc_raw_nbytes() Jeff Garzik
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=47D5EFD4.2090801@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.