Patchwork sata_nv times out for BD-ROM iHOS104-08

login
register
mail settings
Submitter Tejun Heo
Date Jan. 19, 2010, 9:05 a.m.
Message ID <4B5575C8.4030205@kernel.org>
Download mbox | patch
Permalink /patch/43173/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Tejun Heo - Jan. 19, 2010, 9:05 a.m.
Hello,

On 01/18/2010 12:28 AM, Ozan Çağlayan wrote:
> [    9.769407] ata1: nv_mode_filter: 0x739f&0x739f->0x739f, BIOS=0x7000 (0xc000c700) ACPI=0x701f (60:600:0x13)                                                  
> [    9.775326] ata1.00: configured for UDMA/33                                  
> [    9.775408] ata1.00: TEST_UNIT_READY failed (err_mask=0x2)                 

Hmmm... err_mask=0x2 is HSM error.  Strange.  Does the attached patch
make any difference?

Thanks.
Ozan Çağlayan - Jan. 19, 2010, 9:34 a.m.
Tejun Heo wrote:
> Hello,
> 
> On 01/18/2010 12:28 AM, Ozan Çağlayan wrote:
>> [    9.769407] ata1: nv_mode_filter: 0x739f&0x739f->0x739f, BIOS=0x7000 (0xc000c700) ACPI=0x701f (60:600:0x13)                                                  
>> [    9.775326] ata1.00: configured for UDMA/33                                  
>> [    9.775408] ata1.00: TEST_UNIT_READY failed (err_mask=0x2)                 
> 
> Hmmm... err_mask=0x2 is HSM error.  Strange.  Does the attached patch
> make any difference?

Hi,

He reported back that after a few reboots its now working correctly. Actually the behaviour is a little bit
random as he succesfully installed the OS from a CD without losing its DVD drive.

I'll keep a patched kernel and send to him for testing if the bug reappears.

Thanks,
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 0ea97c9..df261ac 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -3530,7 +3530,7 @@  int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
 		/* If reset has been issued, clear UA to avoid
 		 * disrupting the current users of the device.
 		 */
-		if (ehc->i.flags & ATA_EHI_DID_RESET) {
+		/*if (ehc->i.flags & ATA_EHI_DID_RESET) {
 			ata_for_each_dev(dev, link, ALL) {
 				if (dev->class != ATA_DEV_ATAPI)
 					continue;
@@ -3538,7 +3538,7 @@  int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
 				if (rc)
 					goto dev_fail;
 			}
-		}
+		}*/
 
 		/* retry flush if necessary */
 		ata_for_each_dev(dev, link, ALL) {