cnic: Add a signature to indicate valid doorbell offset.
authorEddie Wai <eddie.wai@broadcom.com>
Wed, 1 Jan 2014 07:18:34 +0000 (23:18 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Jan 2014 03:08:08 +0000 (22:08 -0500)
The buffer that is used to pass doorbell offset to the userspace UIO
driver may contain nonzero value in older versions of bnx2x driver.
Userspace cannot easily tell whether it contains a valid doorbell
offset or not.  With the added signature, userspace will only use
the doorbell offset if the signature is present.

Update version to 2.5.19.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/cnic.c
drivers/net/ethernet/broadcom/cnic.h
drivers/net/ethernet/broadcom/cnic_if.h

index f58a8b80302d9b2088ce139688b76e3a9181bb42..fcf9105a5476123c0e5d4e7a4095f05d6c95774e 100644 (file)
@@ -5220,6 +5220,7 @@ static void cnic_init_rings(struct cnic_dev *dev)
                cnic_ring_ctl(dev, cid, cli, 1);
                *cid_ptr = cid >> 4;
                *(cid_ptr + 1) = cid * bp->db_size;
+               *(cid_ptr + 2) = UIO_USE_TX_DOORBELL;
        }
 }
 
index 0121a5d551922266935a2a1a68e92d3ed3a7dc93..0d6b13f854d959ab0cdaf101192dfe2c4930c372 100644 (file)
@@ -186,6 +186,8 @@ struct kcq_info {
        u16             (*hw_idx)(u16);
 };
 
+#define UIO_USE_TX_DOORBELL 0x017855DB
+
 struct cnic_uio_dev {
        struct uio_info         cnic_uinfo;
        u32                     uio_dev;
index ebbfe25acaa6e0fc927938bd54150435a1feedb5..8cf6b1926069d2c541b8b6888eced6463b887aa4 100644 (file)
@@ -14,8 +14,8 @@
 
 #include "bnx2x/bnx2x_mfw_req.h"
 
-#define CNIC_MODULE_VERSION    "2.5.18"
-#define CNIC_MODULE_RELDATE    "Sept 01, 2013"
+#define CNIC_MODULE_VERSION    "2.5.19"
+#define CNIC_MODULE_RELDATE    "December 19, 2013"
 
 #define CNIC_ULP_RDMA          0
 #define CNIC_ULP_ISCSI         1