Bugzilla – Attachment 158345 Details for
Bug 229260
Optical drive (SH-S162L) not configured
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
revive-dma-rw-only-for-SH162L.patch
revive-dma-rw-only (text/plain), 1.64 KB, created by
Tejun Heo
on 2007-08-19 05:28:47 UTC
(
hide
)
Description:
revive-dma-rw-only-for-SH162L.patch
Filename:
MIME Type:
Creator:
Tejun Heo
Created:
2007-08-19 05:28:47 UTC
Size:
1.64 KB
patch
obsolete
>--- > drivers/ata/libata-core.c | 18 ++++++++++++++++++ > include/linux/libata.h | 1 + > 2 files changed, 19 insertions(+) > >Index: linux-2.6.22/drivers/ata/libata-core.c >=================================================================== >--- linux-2.6.22.orig/drivers/ata/libata-core.c >+++ linux-2.6.22/drivers/ata/libata-core.c >@@ -3836,6 +3836,7 @@ static const struct ata_blacklist_entry > > /* Weird ATAPI devices */ > { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, >+ { "TSSTcorpCD/DVDW SH-S162L", NULL, ATA_HORKAGE_DMA_RW_ONLY }, > > /* Devices we expect to fail diagnostics */ > >@@ -4252,6 +4253,23 @@ int ata_check_atapi_dma(struct ata_queue > { > struct ata_port *ap = qc->ap; > >+ /* some drives can only do ATAPI DMA on read/write */ >+ if (unlikely(qc->dev->horkage & ATA_HORKAGE_DMA_RW_ONLY)) { >+ switch (qc->cdb[0]) { >+ case READ_10: >+ case WRITE_10: >+ case READ_12: >+ case WRITE_12: >+ case READ_6: >+ case WRITE_6: >+ /* atapi dma maybe ok */ >+ break; >+ default: >+ /* turn off atapi dma */ >+ return 1; >+ } >+ } >+ > /* Don't allow DMA if it isn't multiple of 16 bytes. Quite a > * few ATAPI devices choke on such DMA requests. > */ >Index: linux-2.6.22/include/linux/libata.h >=================================================================== >--- linux-2.6.22.orig/include/linux/libata.h >+++ linux-2.6.22/include/linux/libata.h >@@ -327,6 +327,7 @@ enum { > ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ > ATA_HORKAGE_SKIP_PM = (1 << 4), /* Skip PM operations */ > ATA_HORKAGE_BROKEN_HPA = (1 << 5), /* Broken HPA */ >+ ATA_HORKAGE_DMA_RW_ONLY = (1 << 6), /* ATAPI DMA for RW only */ > }; > > enum hsm_task_states {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 229260
:
110439
|
110440
|
112812
|
113034
|
146652
|
146927
|
147389
|
157226
| 158345 |
159331
|
159332
|
159974
|
160145
|
160656
|
160699
|
161349
|
161350
|
173856
|
179005
|
179156
|
179246
|
179479
|
179480
|
179499
|
179500
|
179503
|
179556
|
179801