• Paul Bolle's avatar
    RDMA/cxgb4: "cookie" can stay in host endianness · 710a3110
    Paul Bolle authored
    Work requests are passed between the host and the firmware with a
    "cookie".  This cookie is swapped to big-endian when passed to the
    firmware and back to host endianness on return.  This swapping seems
    to be implemented incorrectly.  Moreover, the byte swapping triggers
    GCC warnings on 32 bit:
    
        drivers/infiniband/hw/cxgb4/cm.c: In function ‘passive_ofld_conn_reply’:
        drivers/infiniband/hw/cxgb4/cm.c:2803:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
        drivers/infiniband/hw/cxgb4/cm.c: In function ‘send_fw_pass_open_req’:
        drivers/infiniband/hw/cxgb4/cm.c:2941:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        [...]
    
    But byte swapping isn't needed as the firmware doesn't actually touch
    the cookie.  Dropping byte swapping makes the warnings go away too.
    Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    710a3110
cm.c 90 KB