Commit 27e2df22 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

parents c0d6f966 e104411b
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@

#define DRV_MODULE_NAME		"bnx2"
#define PFX DRV_MODULE_NAME	": "
#define DRV_MODULE_VERSION	"1.2.20"
#define DRV_MODULE_RELDATE	"August 22, 2005"
#define DRV_MODULE_VERSION	"1.2.21"
#define DRV_MODULE_RELDATE	"September 7, 2005"

#define RUN_AT(x) (jiffies + (x))

@@ -1533,6 +1533,7 @@ bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs)
	struct net_device *dev = dev_instance;
	struct bnx2 *bp = dev->priv;

	prefetch(bp->status_blk);
	REG_WR(bp, BNX2_PCICFG_INT_ACK_CMD,
		BNX2_PCICFG_INT_ACK_CMD_USE_INT_HC_PARAM |
		BNX2_PCICFG_INT_ACK_CMD_MASK_INT);
@@ -1558,7 +1559,7 @@ bnx2_interrupt(int irq, void *dev_instance, struct pt_regs *regs)
	 * When using MSI, the MSI message will always complete after
	 * the status block write.
	 */
	if ((bp->status_blk->status_idx == bp->last_status_idx) ||
	if ((bp->status_blk->status_idx == bp->last_status_idx) &&
	    (REG_RD(bp, BNX2_PCICFG_MISC_STATUS) &
	     BNX2_PCICFG_MISC_STATUS_INTA_VALUE))
		return IRQ_NONE;
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@
#endif
#include <linux/workqueue.h>
#include <linux/crc32.h>
#include <linux/prefetch.h>

/* Hardware data structures and register definitions automatically
 * generated from RTL code. Do not modify.
+30 −6
Original line number Diff line number Diff line
@@ -148,13 +148,13 @@ struct in6_flowlabel_req
 */

#define IPV6_ADDRFORM		1
#define IPV6_PKTINFO		2
#define IPV6_HOPOPTS		3
#define IPV6_DSTOPTS		4
#define IPV6_RTHDR		5
#define IPV6_PKTOPTIONS		6
#define IPV6_2292PKTINFO	2
#define IPV6_2292HOPOPTS	3
#define IPV6_2292DSTOPTS	4
#define IPV6_2292RTHDR		5
#define IPV6_2292PKTOPTIONS	6
#define IPV6_CHECKSUM		7
#define IPV6_HOPLIMIT		8
#define IPV6_2292HOPLIMIT	8
#define IPV6_NEXTHOP		9
#define IPV6_AUTHHDR		10	/* obsolete */
#define IPV6_FLOWINFO		11
@@ -198,4 +198,28 @@ struct in6_flowlabel_req
 * MCAST_MSFILTER		48
 */

/* RFC3542 advanced socket options (50-67) */
#define IPV6_RECVPKTINFO	50
#define IPV6_PKTINFO		51
#if 0
#define IPV6_RECVPATHMTU	52
#define IPV6_PATHMTU		53
#define IPV6_DONTFRAG		54
#define IPV6_USE_MIN_MTU	55
#endif
#define IPV6_RECVHOPOPTS	56
#define IPV6_HOPOPTS		57
#if 0
#define IPV6_RECVRTHDRDSTOPTS	58	/* Unused, see net/ipv6/datagram.c */
#endif
#define IPV6_RTHDRDSTOPTS	59
#define IPV6_RECVRTHDR		60
#define IPV6_RTHDR		61
#define IPV6_RECVDSTOPTS	62
#define IPV6_DSTOPTS		63
#define IPV6_RECVHOPLIMIT	64
#define IPV6_HOPLIMIT		65
#define IPV6_RECVTCLASS		66
#define IPV6_TCLASS		67

#endif
+12 −3
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ struct inet6_skb_parm {
	__u16			dst0;
	__u16			srcrt;
	__u16			dst1;
	__u16			lastopt;
};

#define IP6CB(skb)	((struct inet6_skb_parm*)((skb)->cb))
@@ -234,14 +235,20 @@ struct ipv6_pinfo {
	/* pktoption flags */
	union {
		struct {
			__u8	srcrt:2,
			__u16	srcrt:2,
				osrcrt:2,
			        rxinfo:1,
			        rxoinfo:1,
				rxhlim:1,
				rxohlim:1,
				hopopts:1,
				ohopopts:1,
				dstopts:1,
                                rxflow:1;
				odstopts:1,
                                rxflow:1,
				rxtclass:1;
		} bits;
		__u8		all;
		__u16		all;
	} rxopt;

	/* sockopt flags */
@@ -250,6 +257,7 @@ struct ipv6_pinfo {
	                        sndflow:1,
				pmtudisc:2,
				ipv6only:1;
	__u8			tclass;

	__u32			dst_cookie;

@@ -263,6 +271,7 @@ struct ipv6_pinfo {
		struct ipv6_txoptions *opt;
		struct rt6_info	*rt;
		int hop_limit;
		int tclass;
	} cork;
};

+1 −1
Original line number Diff line number Diff line
@@ -1167,7 +1167,7 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb,

static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
{
	if (len >= skb->len)
	if (likely(len >= skb->len))
		return 0;
	if (skb->ip_summed == CHECKSUM_HW)
		skb->ip_summed = CHECKSUM_NONE;
Loading