liquidio: Resolved mbox read issue while reading more than one 64bit data
authorIntiyaz Basha <intiyaz.basha@cavium.com>
Thu, 8 Mar 2018 06:12:24 +0000 (22:12 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Mar 2018 02:45:46 +0000 (21:45 -0500)
Corrected length check when data received in the mbox is more than one
64 bit data value

Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c

index 57af7df..28e74ee 100644 (file)
@@ -87,7 +87,7 @@ int octeon_mbox_read(struct octeon_mbox *mbox)
        }
 
        if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVING) {
-               if (mbox->mbox_req.recv_len < msg.s.len) {
+               if (mbox->mbox_req.recv_len < mbox->mbox_req.msg.s.len) {
                        ret = 0;
                } else {
                        mbox->state &= ~OCTEON_MBOX_STATE_REQUEST_RECEIVING;
@@ -96,7 +96,8 @@ int octeon_mbox_read(struct octeon_mbox *mbox)
                }
        } else {
                if (mbox->state & OCTEON_MBOX_STATE_RESPONSE_RECEIVING) {
-                       if (mbox->mbox_resp.recv_len < msg.s.len) {
+                       if (mbox->mbox_resp.recv_len <
+                           mbox->mbox_resp.msg.s.len) {
                                ret = 0;
                        } else {
                                mbox->state &=