RE:cciss patches for 2.4.21-rc1, 3 of 4

mikem@beardog.cca.cpqcorp.net
Thu, 24 Apr 2003 17:12:08 -0500


2003/04/24

Changes:
1: Replaces the bit shifting in cciss_get_geometry() &
register_new_disk() with be32_to_cpu() to ensure correct
endian-ness across platforms.

diff -urN lx2421p7-1/drivers/block/cciss.c lx2421p7-1.1/drivers/block/cciss.c
--- lx2421p7-1/drivers/block/cciss.c Mon Apr 7 13:11:04 2003
+++ lx2421p7-1.1/drivers/block/cciss.c Mon Apr 7 13:12:28 2003
@@ -1348,15 +1348,7 @@
sizeof(ReportLunData_struct), 0, 0, 0 );

if (return_code == IO_OK) {
- /* printk("LUN Data\n--------------------------\n"); */
- listlength |= (0xff &
- (unsigned int)(ld_buff->LUNListLength[0])) << 24;
- listlength |= (0xff &
- (unsigned int)(ld_buff->LUNListLength[1])) << 16;
- listlength |= (0xff &
- (unsigned int)(ld_buff->LUNListLength[2])) << 8;
- listlength |= 0xff &
- (unsigned int)(ld_buff->LUNListLength[3]);
+ listlength = be32_to_cpu(*((__u32 *) &ld_buff->LUNListLength[0]));
} else {
/* reading number of logical volumes failed */
printk(KERN_WARNING "cciss: report logical volume"
@@ -2699,10 +2691,7 @@
printk("LUN Data\n--------------------------\n");
#endif /* CCISS_DEBUG */

- listlength |= (0xff & (unsigned int)(ld_buff->LUNListLength[0])) << 24;
- listlength |= (0xff & (unsigned int)(ld_buff->LUNListLength[1])) << 16;
- listlength |= (0xff & (unsigned int)(ld_buff->LUNListLength[2])) << 8;
- listlength |= 0xff & (unsigned int)(ld_buff->LUNListLength[3]);
+ listlength = be32_to_cpu(*((__u32 *) &ld_buff->LUNListLength[0]));
} else { /* reading number of logical volumes failed */
printk(KERN_WARNING "cciss: report logical volume"
" command failed\n");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/