svn commit: r250298 - head/sys/cam/ata

Alexander Motin mav at FreeBSD.org
Mon May 6 16:51:20 UTC 2013


On 06.05.2013 19:16, Ian Lepore wrote:
> On Mon, 2013-05-06 at 15:58 +0000, Alexander Motin wrote:
>> Author: mav
>> Date: Mon May  6 15:58:53 2013
>> New Revision: 250298
>> URL: http://svnweb.freebsd.org/changeset/base/250298
>>
>> Log:
>>    Fix byte order of ATA WWN when converting it to SCSI LUN ID.
>>
>> Modified:
>>    head/sys/cam/ata/ata_xpt.c
>>
>> Modified: head/sys/cam/ata/ata_xpt.c
>> ==============================================================================
>> --- head/sys/cam/ata/ata_xpt.c	Mon May  6 15:30:34 2013	(r250297)
>> +++ head/sys/cam/ata/ata_xpt.c	Mon May  6 15:58:53 2013	(r250298)
>> @@ -834,6 +834,7 @@ noerror:
>>   	{
>>   		struct ccb_pathinq cpi;
>>   		int16_t *ptr;
>> +		int i;
>>
>>   		ident_buf = &softc->ident_data;
>>   		for (ptr = (int16_t *)ident_buf;
>> @@ -913,8 +914,10 @@ noerror:
>>   					path->device->device_id_len = 16;
>>   					bcopy(&fake_device_id_hdr,
>>   					    path->device->device_id, 8);
>> -					bcopy(ident_buf->wwn,
>> -					    path->device->device_id + 8, 8);
>> +					for (i = 0; i < 4; i++) {
>> +						ptr = (int16_t *)(path->device->device_id + 8);
>> +						ptr[i] = bswap16(ident_buf->wwn[i]);
>> +					}
>>   				}
>>   			}
>>
>
> Shouldn't this use ata_bswap()?  If not that, then shouldn't it be one
> of the conditional swap routines (be16dec() or similar)?

You are right. Thank you. Remade.

-- 
Alexander Motin


More information about the svn-src-all mailing list