[IBAL] IA64 vstat cmd crashed Win2k3 - unaligned MADs in ioctl; see ual_local_mad_ioc...
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 20 Sep 2007 23:59:27 +0000 (23:59 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 20 Sep 2007 23:59:27 +0000 (23:59 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@826 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

inc/iba/ib_al_ioctl.h

index c006a62..cfb9ab7 100644 (file)
@@ -2298,7 +2298,7 @@ typedef union _ual_send_mad_ioctl
                uint64_t                                                h_av;\r
                ib_mad_element_t* __ptr64               p_mad_element;\r
                uint32_t                                                size;\r
-               void* __ptr64* __ptr64          ph_proxy;\r
+               void* __ptr64* __ptr64                  ph_proxy;\r
 \r
        }       in;\r
        struct _ual_send_mad_ioctl_out\r
@@ -2488,14 +2488,15 @@ typedef union _ual_local_mad_ioctl
        struct _ual_local_mad_ioctl_in\r
        {\r
                uint64_t                                        h_ca;\r
+               __declspec(align(8)) uint8_t mad_in[MAD_BLOCK_SIZE];\r
                uint8_t                                         port_num;\r
-               uint8_t                                         mad_in[MAD_BLOCK_SIZE];\r
 \r
        }       in;\r
        struct _ual_local_mad_ioctl_out\r
        {\r
                ib_api_status_t                         status;\r
-               uint8_t                                         mad_out[MAD_BLOCK_SIZE];\r
+               uint32_t                                        _pad; /* 8-byte alignment needed for ia64 */\r
+               __declspec(align(8)) uint8_t mad_out[MAD_BLOCK_SIZE];\r
 \r
        }       out;\r
 \r