Re: RFC: ATA to CAM integration patch

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Mon, 17 Aug 2009 09:30:42 +0300
Ilya Zhuravlev wrote:
> Alexander Motin пишет:
>> Ilya Zhuravlev wrote:
>>> Alexander Motin wrote:
>>>> Ilya Zhuravlev wrote:
>>>>> Alexander Motin wrote:
>>>>>> Ilya Zhuravlev wrote:
>>>>>>> ahci cannot attach drives
>>>>>>> 8.0-beta2, laptop asus k50in, nvidia MCP75L-based
>>>>>>>
>>>>>>> ahci0: [THREAD]
>>>>>>> ahci0: AHCI v1.20 with 2 3Gbps ports, Port Multiplier supported
>>>>>>> ahcich0: <AHCI channel> at channel 0 on ahci0
>>>>>>> ahcich0: [THREAD]
>>>>>>> ahcich1: <AHCI channel> at channel 1 on ahci0
>>>>>>> ahcich1: [THREAD]
>>>>>>> ......
>>>>>>> (aprobe0:ahcich0:0:15:0): SIGNATURE: 0000
>>>>>>> (aprobe0:ahcich0:0:0:0): SIGNATURE: 0000
>>>>>>> (aprobe0:ahcich0:0:0:0): Uncorrected Parity Error
>>>>>>> (aprobe0:ahcich0:0:0:0): Retrying Command
>>>>>>> (aprobe0:ahcich0:0:0:0): Uncoreccted Parity Error
>>>>>>> (aprobe0:ahcich0:0:0:0): error 5
>>>>>>> (aprobe0:ahcich0:0:0:0): Retries Exhausted
>>>>>>> (aprobe1:ahcich1:0:15:0): SIGNATURE: eb14
>>>>>>> (aprobe0:ahcich1:0:0:0): SIGNATURE: eb14
>>>>>>> (aprobe0:ahcich1:0:0:0): Uncoreccted Parity Error
>>>>>>> (aprobe0:ahcich1:0:0:0): Retrying Command
>>>>>>> (aprobe0:ahcich1:0:0:0): Uncoreccted Parity Error
>>>>>>> (aprobe0:ahcich1:0:0:0): error 5
>>>>>>> (aprobe0:ahcich1:0:0:0): Retries Exhausted
>>>>>>>
>>>>>> Try please to uncomment device_printf() lines inside ahci_ch_intr()
>>>>>> function. It could give some ideas about what's going on there.
>>>>>>
>>>>> Sorry for long delay.
>>>>> boot -v, pciconf attached
>>>>
>>>> I don't see that you've uncommented
>>>> //device_printf(dev, "%s ERROR is %08x cs %08x...
>>>> lines in ahci_ch_intr() and rebuilt kernel as I've said.
>>>>
>>> Ehm, sorry, svn upping after edit was bad idea
>>
> Or some additional changes were missed by me?

I have meant simple 4-line patch, attached here.

-- 
Alexander Motin

--- ata_xpt.c	2009-07-14 00:21:16.000000000 +0300
+++ ata_xpt.c	2009-08-10 00:38:03.000000000 +0300
_at__at_ -370,10 +344,10 @@ probestart(struct cam_periph *periph, un
 		cam_fill_ataio(ataio,
 		      1,
 		      probedone,
-		      /*flags*/CAM_DIR_IN,
-		      MSG_SIMPLE_Q_TAG,
-		      /*data_ptr*/(u_int8_t *)ident_buf,
-		      /*dxfer_len*/sizeof(struct ata_params),
+		      /*flags*/CAM_DIR_NONE,
+		      0,
+		      /*data_ptr*/NULL,
+		      /*dxfer_len*/0,
 		      30 * 1000);
 		ata_36bit_cmd(ataio, ATA_SETFEATURES, ATA_SF_SETXFER, 0,
 		    ata_max_mode(ident_buf, ATA_UDMA6, ATA_UDMA6));
Received on Mon Aug 17 2009 - 04:31:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC