mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[PATCH] fix libata inquiry VPD for ATAPI devices
The following patch prevents libata from incorrectly modifying inquiry VPD pages and command support data from ATAPI devices. I have tested the patch with a SATA ATAPI tape drive on an AHCI controller. Patch is against kernel 2.4.32 with 2.4.32-libata1.patch applied. Anthony J. Battersby Cybernetics Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
parent
df7addbb45
commit
fd71da468d
1 changed files with 1 additions and 4 deletions
|
@ -2044,7 +2044,7 @@ static int atapi_qc_complete(struct ata_queued_cmd *qc, unsigned int err_mask)
|
||||||
else {
|
else {
|
||||||
u8 *scsicmd = cmd->cmnd;
|
u8 *scsicmd = cmd->cmnd;
|
||||||
|
|
||||||
if (scsicmd[0] == INQUIRY) {
|
if ((scsicmd[0] == INQUIRY) && ((scsicmd[1] & 0x03) == 0)) {
|
||||||
u8 *buf = NULL;
|
u8 *buf = NULL;
|
||||||
unsigned int buflen;
|
unsigned int buflen;
|
||||||
|
|
||||||
|
@ -2057,9 +2057,6 @@ static int atapi_qc_complete(struct ata_queued_cmd *qc, unsigned int err_mask)
|
||||||
* to indicate to the Linux scsi midlayer this is a modern
|
* to indicate to the Linux scsi midlayer this is a modern
|
||||||
* device. 2) Ensure response data format / ATAPI information
|
* device. 2) Ensure response data format / ATAPI information
|
||||||
* are always correct.
|
* are always correct.
|
||||||
*/
|
|
||||||
/* FIXME: do we ever override EVPD pages and the like, with
|
|
||||||
* this code?
|
|
||||||
*/
|
*/
|
||||||
if (buf[2] == 0) {
|
if (buf[2] == 0) {
|
||||||
buf[2] = 0x5;
|
buf[2] = 0x5;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue