Hi James,
Running 32 bit BSG application on a 64 bit kernel fails because of
mismatch in fc_bsg_request structure elements. Packing the
fc_bsg_request structure solves the issue. Please find the changes
below. Can u please review.
Thanks,
Giridhar Malavali
The 32bit kernel does not add padding bytes in the fc_bsg_request
structure
whereas the 64bit kernel adds padding bytes in the fc_bsg_request
structure.
Due to this, structure elements gets mismatched with 32bit application
and
64bit kernel.
To resolve this, used packed modifier to avoid adding padding bytes.
Signed-off-by: Harish Zunjarrao <harish.zunjarrao@xxxxxxxxxx>
---
include/scsi/scsi_bsg_fc.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/scsi/scsi_bsg_fc.h b/include/scsi/scsi_bsg_fc.h
index a4b2333..00e50ff 100644
--- a/include/scsi/scsi_bsg_fc.h
+++ b/include/scsi/scsi_bsg_fc.h
@@ -292,7 +292,7 @@ struct fc_bsg_request {
struct fc_bsg_rport_els r_els;
struct fc_bsg_rport_ct r_ct;
} rqst_data;
-};
+} __attribute__ ((packed));
--
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