diff options
author | Amit Kumar Salecha | 2010-08-31 17:17:53 +0000 |
---|---|---|
committer | David S. Miller | 2010-09-01 10:41:58 -0700 |
commit | d807b3f728518d218fb2fe54c1227bc6d6f93efd (patch) | |
tree | 551b6b0d4e8bffc04b5ff5728d474ba75953dc8f /drivers/net | |
parent | 03c5d770c24cd673d105fbf1a9706ae838272091 (diff) |
qlcnic: add cksum flag
o New CKSUM flag added by fw to notify cksum is verified.
o Update version to 5.0.9
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/qlcnic/qlcnic.h | 7 | ||||
-rw-r--r-- | drivers/net/qlcnic/qlcnic_init.c | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h index 9d211529fa16..cc8385a6727e 100644 --- a/drivers/net/qlcnic/qlcnic.h +++ b/drivers/net/qlcnic/qlcnic.h @@ -51,8 +51,8 @@ #define _QLCNIC_LINUX_MAJOR 5 #define _QLCNIC_LINUX_MINOR 0 -#define _QLCNIC_LINUX_SUBVERSION 8 -#define QLCNIC_LINUX_VERSIONID "5.0.8" +#define _QLCNIC_LINUX_SUBVERSION 9 +#define QLCNIC_LINUX_VERSIONID "5.0.9" #define QLCNIC_DRV_IDC_VER 0x01 #define QLCNIC_DRIVER_VERSION ((_QLCNIC_LINUX_MAJOR << 16) |\ (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION)) @@ -224,7 +224,8 @@ struct rcv_desc { #define QLCNIC_LRO_DESC 0x12 /* for status field in status_desc */ -#define STATUS_CKSUM_OK (2) +#define STATUS_CKSUM_LOOP 0 +#define STATUS_CKSUM_OK 2 /* owner bits of status_desc */ #define STATUS_OWNER_HOST (0x1ULL << 56) diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index 8e0e7a3bbf9e..8e47d7aea562 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c @@ -1364,7 +1364,8 @@ static struct sk_buff *qlcnic_process_rxbuf(struct qlcnic_adapter *adapter, skb = buffer->skb; - if (likely(adapter->rx_csum && cksum == STATUS_CKSUM_OK)) { + if (likely(adapter->rx_csum && (cksum == STATUS_CKSUM_OK || + cksum == STATUS_CKSUM_LOOP))) { adapter->stats.csummed++; skb->ip_summed = CHECKSUM_UNNECESSARY; } else { |