Re: [PATCH] pcmraid: fix endianness problems

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

 



James,

Yes. We can remove these spurious cpu_to_le32 wrappers for 8 bits.
I had already submitted a patch dated: Sep 24 to address this. The subject 
of the mail/patch was:
PATCH 1/1] pmcraid: Fix ppc64 driver build for using cpu_to_le32 on U8 
data type

In addition to below, I have made one more similar change as well -

pmcraid.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- scsi-misc-2.6.orig/drivers/scsi/pmcraid.c	2009-11-03 11:22:49.000000000 -0800
+++ scsi-misc-2.6/drivers/scsi/pmcraid.c	2009-11-03 11:25:06.000000000 -0800
@@ -1076,7 +1076,7 @@
 
 	ioarcb->data_transfer_length = cpu_to_le32(rcb_size);
 
-	ioadl[0].flags |= cpu_to_le32(IOADL_FLAGS_READ_LAST);
+	ioadl[0].flags |= IOADL_FLAGS_READ_LAST;
 	ioadl[0].data_len = cpu_to_le32(rcb_size);
 	ioadl[0].address = cpu_to_le32(dma);
 

On Tue, 3 Nov 2009, James Bottomley wrote:

> There's a compile problem with pcmraid on BE platforms because the flags
> machine mailbox register is only 8 bits wide:
> 
> drivers/scsi/pmcraid.c: In function 'pmcraid_request_sense':
> drivers/scsi/pmcraid.c:2259: warning: large integer implicitly truncated to unsigned type
> drivers/scsi/pmcraid.c: In function 'pmcraid_build_ioadl':
> drivers/scsi/pmcraid.c:3025: warning: large integer implicitly truncated to unsigned type
> drivers/scsi/pmcraid.c: In function 'pmcraid_build_passthrough_ioadls':
> drivers/scsi/pmcraid.c:3395: warning: large integer implicitly truncated to unsigned type
> drivers/scsi/pmcraid.c: In function 'pmcraid_querycfg':
> drivers/scsi/pmcraid.c:5322: warning: large integer implicitly truncated to unsigned type
> 
> The fix, I think, is just to remove the spurious cpu_to_le32 wrappers
> 
> James
> 
> ---
> 
> diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
> index 86d158e..ef4102e 100644
> --- a/drivers/scsi/pmcraid.c
> +++ b/drivers/scsi/pmcraid.c
> @@ -2256,7 +2256,7 @@ static void pmcraid_request_sense(struct pmcraid_cmd *cmd)
>  
>  	ioadl->address = cpu_to_le64(cmd->sense_buffer_dma);
>  	ioadl->data_len = cpu_to_le32(SCSI_SENSE_BUFFERSIZE);
> -	ioadl->flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC);
> +	ioadl->flags = IOADL_FLAGS_LAST_DESC;
>  
>  	/* request sense might be called as part of error response processing
>  	 * which runs in tasklets context. It is possible that mid-layer might
> @@ -3022,7 +3022,7 @@ static int pmcraid_build_ioadl(
>  		ioadl[i].flags = 0;
>  	}
>  	/* setup last descriptor */
> -	ioadl[i - 1].flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC);
> +	ioadl[i - 1].flags = IOADL_FLAGS_LAST_DESC;
>  
>  	return 0;
>  }
> @@ -3392,7 +3392,7 @@ static int pmcraid_build_passthrough_ioadls(
>  	}
>  
>  	/* setup the last descriptor */
> -	ioadl[i - 1].flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC);
> +	ioadl[i - 1].flags = IOADL_FLAGS_LAST_DESC;
>  
>  	return 0;
>  }
> @@ -5319,7 +5319,7 @@ static void pmcraid_querycfg(struct pmcraid_cmd *cmd)
>  		cpu_to_le32(sizeof(struct pmcraid_config_table));
>  
>  	ioadl = &(ioarcb->add_data.u.ioadl[0]);
> -	ioadl->flags = cpu_to_le32(IOADL_FLAGS_LAST_DESC);
> +	ioadl->flags = IOADL_FLAGS_LAST_DESC;
>  	ioadl->address = cpu_to_le64(pinstance->cfg_table_bus_addr);
>  	ioadl->data_len = cpu_to_le32(sizeof(struct pmcraid_config_table));
>  
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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