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

Ian Lepore ian at FreeBSD.org
Mon May 6 16:16:09 UTC 2013


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)?

-- Ian




More information about the svn-src-head mailing list