IB/hfi1: Remove subtraction of uninitialized value
authorDennis Dalessandro <dennis.dalessandro@intel.com>
Tue, 30 May 2017 00:19:46 +0000 (17:19 -0700)
committerDoug Ledford <dledford@redhat.com>
Tue, 27 Jun 2017 20:58:12 +0000 (16:58 -0400)
In process_receive_packet the packet header field is used to calculate
the length of the packet. However this is not necessarily setup. In fact
only if the ECN prescan is enabled will the packet header be valid at
this point.

The code works as is because we do not do anything with the packet
length at this point in the packet processing. The length and header are
setup correctly in hfi1_setup_ib_header which is called by the following
sequence:

process_receive_packet()
-> rhf_receieve_function_map[]()
--> process_receive_ib()
---> hfi1_setup_9B_packet()
----> hfi1_setup_ib_header()

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/driver.c

index 2a1022e..9e59430 100644 (file)
@@ -703,7 +703,6 @@ static inline int process_rcv_packet(struct hfi1_packet *packet, int thread)
 
        packet->etype = rhf_rcv_type(packet->rhf);
 
-       packet->hlen = (u8 *)packet->rhf_addr - (u8 *)packet->hdr;
        /* total length */
        packet->tlen = rhf_pkt_len(packet->rhf); /* in bytes */
        /* retrieve eager buffer details */