diff options
author | Malahal Naineni <malahal@us.ibm.com> | 2007-03-12 13:41:26 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-03-20 11:49:40 -0400 |
commit | b889d531b635da66ce2704a47febfed68173d9db (patch) | |
tree | 065b48c2c2d991dd332c92089f4ee80c794d0baf /drivers/scsi/qla2xxx | |
parent | 840c2835a1c867281d27158378a9d34f593a7664 (diff) |
[SCSI] qla2xxx: fix RSCN handling on big-endian systems
qla2xxx driver fails to handle RSCN events affecting area or domain due
to an endian issue on big endian systems. This fixes the port_id_t
structure on big endian systems.
Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Acked-by: Seokmann Ju <seokmann.ju@qlogic.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 05f4f2a378eb..e8948b679f5b 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -1478,14 +1478,17 @@ typedef union { | |||
1478 | uint32_t b24 : 24; | 1478 | uint32_t b24 : 24; |
1479 | 1479 | ||
1480 | struct { | 1480 | struct { |
1481 | uint8_t d_id[3]; | 1481 | #ifdef __BIG_ENDIAN |
1482 | uint8_t rsvd_1; | 1482 | uint8_t domain; |
1483 | } r; | 1483 | uint8_t area; |
1484 | 1484 | uint8_t al_pa; | |
1485 | struct { | 1485 | #elif __LITTLE_ENDIAN |
1486 | uint8_t al_pa; | 1486 | uint8_t al_pa; |
1487 | uint8_t area; | 1487 | uint8_t area; |
1488 | uint8_t domain; | 1488 | uint8_t domain; |
1489 | #else | ||
1490 | #error "__BIG_ENDIAN or __LITTLE_ENDIAN must be defined!" | ||
1491 | #endif | ||
1489 | uint8_t rsvd_1; | 1492 | uint8_t rsvd_1; |
1490 | } b; | 1493 | } b; |
1491 | } port_id_t; | 1494 | } port_id_t; |