Re: [PATCH] mvsas: fix wrong endianess of sgpio api

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2018-02-19 at 21:11 +0100, Wilfried.Weissmann@xxxxxx wrote:
> From: Wilfried Weissmann <wilfried.weissmann@xxxxxx>

Every patch should have a description that not only explains what has been
changed but also why these changes have been made. Please add such a
description. Additionally, please also fix spelling of the patch subject
("endianness").

> ---
>  drivers/scsi/mvsas/mv_94xx.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/mvsas/mv_94xx.c b/drivers/scsi/mvsas/mv_94xx.c
> index 7de5d8d75..926086f39 100644
> --- a/drivers/scsi/mvsas/mv_94xx.c
> +++ b/drivers/scsi/mvsas/mv_94xx.c
> @@ -1088,7 +1088,7 @@ static int mvs_94xx_gpio_write(struct mvs_prv_info *mvs_prv,
>  			* if bit is set then create a mask with the first
>  			* bit of the drive set in the mask ...
>  			*/
> -			u32 bit = (write_data[i/8] & (1 << (i&(8-1)))) ?
> +			u32 bit = (write_data[3-(i/8)] & (1 << (i&(8-1)))) ?
>  				1<<(24-drive*8) : 0;

The next person who reads this code but who has not followed the discussion
of this patch will have a hard time figuring out the purpose of the "3 - ".
Please consider to use get_unaligned_?e32(), swab32() or similar to make this
code easier to read.
 
>  			/*
> @@ -1132,7 +1132,7 @@ static int mvs_94xx_gpio_write(struct mvs_prv_info *mvs_prv,
> -				be32_to_cpu(((u32 *) write_data)[i]));
> +				le32_to_cpu(((u32 *) write_data)[i]));

Have the changes in this patch been verified with sparse? I expect that sparse
will complain about this code. Please use get_unaligned_le32() instead of open-
coding it.

Thanks,

Bart.






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux