提交 219ff3ad 编写于 作者: L Linus Torvalds

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

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits)
  [X25]: Use proc_create() to setup ->proc_fops first
  [WANROUTER]: Use proc_create() to setup ->proc_fops first
  [8021Q]: Use proc_create() to setup ->proc_fops first
  [IPV4]: Use proc_create() to setup ->proc_fops first
  [IPV6]: Use proc_create() to setup ->proc_fops first
  [SCTP]: Use proc_create() to setup ->proc_fops first
  [PKTGEN]: Use proc_create() to setup ->proc_fops first
  [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first
  [LLC]: Use proc_create() to setup ->proc_fops first
  [IPX]: Use proc_create() to setup ->proc_fops first
  [SUNRPC]: Use proc_create() to setup ->proc_fops first
  [ATM]: Use proc_create() to setup ->proc_fops first
  [SCTP]: Update AUTH structures to match declarations in draft-16.
  [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option
  [SCTP]: Clean up naming conventions of sctp protocol/address family registration
  [APPLETALK]: Use proc_create() to setup ->proc_fops first
  [BNX2X]: add bnx2x to MAINTAINERS
  [BNX2X]: update version, remove CVS strings
  [BNX2X]: Fix Xmit bugs
  [BNX2X]: Prevent PCI queue overflow
  ...
...@@ -982,6 +982,12 @@ M: mchan@broadcom.com ...@@ -982,6 +982,12 @@ M: mchan@broadcom.com
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Supported S: Supported
BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
P: Eliezer Tamir
M: eliezert@broadcom.com
L: netdev@vger.kernel.org
S: Supported
BROADCOM TG3 GIGABIT ETHERNET DRIVER BROADCOM TG3 GIGABIT ETHERNET DRIVER
P: Michael Chan P: Michael Chan
M: mchan@broadcom.com M: mchan@broadcom.com
...@@ -3886,10 +3892,13 @@ M: trivial@kernel.org ...@@ -3886,10 +3892,13 @@ M: trivial@kernel.org
L: linux-kernel@vger.kernel.org L: linux-kernel@vger.kernel.org
S: Maintained S: Maintained
TULIP NETWORK DRIVER TULIP NETWORK DRIVERS
L: tulip-users@lists.sourceforge.net P: Grant Grundler
W: http://sourceforge.net/projects/tulip/ M: grundler@parisc-linux.org
S: Orphan P: Kyle McMartin
M: kyle@parisc-linux.org
L: netdev@vger.kernel.org
S: Maintained
TUN/TAP driver TUN/TAP driver
P: Maxim Krasnyansky P: Maxim Krasnyansky
......
...@@ -47,7 +47,7 @@ static LIST_HEAD(notify_list); ...@@ -47,7 +47,7 @@ static LIST_HEAD(notify_list);
static struct cn_dev cdev; static struct cn_dev cdev;
int cn_already_initialized = 0; static int cn_already_initialized;
/* /*
* msg->seq and msg->ack are used to determine message genealogy. * msg->seq and msg->ack are used to determine message genealogy.
......
...@@ -90,6 +90,11 @@ config MACVLAN ...@@ -90,6 +90,11 @@ config MACVLAN
This allows one to create virtual interfaces that map packets to This allows one to create virtual interfaces that map packets to
or from specific MAC addresses to a particular interface. or from specific MAC addresses to a particular interface.
Macvlan devices can be added using the "ip" command from the
iproute2 package starting with the iproute2-2.6.23 release:
"ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called macvlan. will be called macvlan.
...@@ -2363,6 +2368,7 @@ config GELIC_NET ...@@ -2363,6 +2368,7 @@ config GELIC_NET
config GELIC_WIRELESS config GELIC_WIRELESS
bool "PS3 Wireless support" bool "PS3 Wireless support"
depends on GELIC_NET depends on GELIC_NET
select WIRELESS_EXT
help help
This option adds the support for the wireless feature of PS3. This option adds the support for the wireless feature of PS3.
If you have the wireless-less model of PS3 or have no plan to If you have the wireless-less model of PS3 or have no plan to
......
此差异已折叠。
/* bnx2x.h: Broadcom Everest network driver. /* bnx2x.h: Broadcom Everest network driver.
* *
* Copyright (c) 2007 Broadcom Corporation * Copyright (c) 2007-2008 Broadcom Corporation
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
#define BNX2X_MSG_STATS 0x20000 /* was: NETIF_MSG_TIMER */ #define BNX2X_MSG_STATS 0x20000 /* was: NETIF_MSG_TIMER */
#define NETIF_MSG_NVM 0x40000 /* was: NETIF_MSG_HW */ #define NETIF_MSG_NVM 0x40000 /* was: NETIF_MSG_HW */
#define NETIF_MSG_DMAE 0x80000 /* was: NETIF_MSG_HW */ #define NETIF_MSG_DMAE 0x80000 /* was: NETIF_MSG_HW */
#define BNX2X_MSG_SP 0x100000 /* was: NETIF_MSG_INTR */
#define BNX2X_MSG_FP 0x200000 /* was: NETIF_MSG_INTR */
#define DP_LEVEL KERN_NOTICE /* was: KERN_DEBUG */ #define DP_LEVEL KERN_NOTICE /* was: KERN_DEBUG */
...@@ -40,6 +42,12 @@ ...@@ -40,6 +42,12 @@
__LINE__, bp->dev?(bp->dev->name):"?", ##__args); \ __LINE__, bp->dev?(bp->dev->name):"?", ##__args); \
} while (0) } while (0)
/* for logging (never masked) */
#define BNX2X_LOG(__fmt, __args...) do { \
printk(KERN_NOTICE "[%s:%d(%s)]" __fmt, __FUNCTION__, \
__LINE__, bp->dev?(bp->dev->name):"?", ##__args); \
} while (0)
/* before we have a dev->name use dev_info() */ /* before we have a dev->name use dev_info() */
#define BNX2X_DEV_INFO(__fmt, __args...) do { \ #define BNX2X_DEV_INFO(__fmt, __args...) do { \
if (bp->msglevel & NETIF_MSG_PROBE) \ if (bp->msglevel & NETIF_MSG_PROBE) \
...@@ -423,8 +431,6 @@ struct bnx2x_fastpath { ...@@ -423,8 +431,6 @@ struct bnx2x_fastpath {
#define BNX2X_FP_STATE_OPEN 0xa0000 #define BNX2X_FP_STATE_OPEN 0xa0000
#define BNX2X_FP_STATE_HALTING 0xb0000 #define BNX2X_FP_STATE_HALTING 0xb0000
#define BNX2X_FP_STATE_HALTED 0xc0000 #define BNX2X_FP_STATE_HALTED 0xc0000
#define BNX2X_FP_STATE_DELETED 0xd0000
#define BNX2X_FP_STATE_CLOSE_IRQ 0xe0000
int index; int index;
...@@ -505,7 +511,6 @@ struct bnx2x { ...@@ -505,7 +511,6 @@ struct bnx2x {
struct eth_spe *spq; struct eth_spe *spq;
dma_addr_t spq_mapping; dma_addr_t spq_mapping;
u16 spq_prod_idx; u16 spq_prod_idx;
u16 dsb_sp_prod_idx;
struct eth_spe *spq_prod_bd; struct eth_spe *spq_prod_bd;
struct eth_spe *spq_last_bd; struct eth_spe *spq_last_bd;
u16 *dsb_sp_prod; u16 *dsb_sp_prod;
...@@ -517,7 +522,7 @@ struct bnx2x { ...@@ -517,7 +522,7 @@ struct bnx2x {
*/ */
u8 stat_pending; u8 stat_pending;
/* End of fileds used in the performance code paths */ /* End of fields used in the performance code paths */
int panic; int panic;
int msglevel; int msglevel;
...@@ -540,8 +545,6 @@ struct bnx2x { ...@@ -540,8 +545,6 @@ struct bnx2x {
spinlock_t phy_lock; spinlock_t phy_lock;
struct work_struct reset_task; struct work_struct reset_task;
u16 in_reset_task;
struct work_struct sp_task; struct work_struct sp_task;
struct timer_list timer; struct timer_list timer;
...@@ -555,7 +558,6 @@ struct bnx2x { ...@@ -555,7 +558,6 @@ struct bnx2x {
#define CHIP_ID(bp) (((bp)->chip_id) & 0xfffffff0) #define CHIP_ID(bp) (((bp)->chip_id) & 0xfffffff0)
#define CHIP_NUM(bp) (((bp)->chip_id) & 0xffff0000) #define CHIP_NUM(bp) (((bp)->chip_id) & 0xffff0000)
#define CHIP_NUM_5710 0x57100000
#define CHIP_REV(bp) (((bp)->chip_id) & 0x0000f000) #define CHIP_REV(bp) (((bp)->chip_id) & 0x0000f000)
#define CHIP_REV_Ax 0x00000000 #define CHIP_REV_Ax 0x00000000
...@@ -574,6 +576,7 @@ struct bnx2x { ...@@ -574,6 +576,7 @@ struct bnx2x {
u32 fw_mb; u32 fw_mb;
u32 hw_config; u32 hw_config;
u32 board;
u32 serdes_config; u32 serdes_config;
u32 lane_config; u32 lane_config;
u32 ext_phy_config; u32 ext_phy_config;
...@@ -595,11 +598,11 @@ struct bnx2x { ...@@ -595,11 +598,11 @@ struct bnx2x {
u8 tx_lane_swap; u8 tx_lane_swap;
u8 link_up; u8 link_up;
u8 phy_link_up;
u32 supported; u32 supported;
/* link settings - missing defines */ /* link settings - missing defines */
#define SUPPORTED_2500baseT_Full (1 << 15) #define SUPPORTED_2500baseT_Full (1 << 15)
#define SUPPORTED_CX4 (1 << 16)
u32 phy_flags; u32 phy_flags;
/*#define PHY_SERDES_FLAG 0x1*/ /*#define PHY_SERDES_FLAG 0x1*/
...@@ -644,16 +647,9 @@ struct bnx2x { ...@@ -644,16 +647,9 @@ struct bnx2x {
#define FLOW_CTRL_BOTH PORT_FEATURE_FLOW_CONTROL_BOTH #define FLOW_CTRL_BOTH PORT_FEATURE_FLOW_CONTROL_BOTH
#define FLOW_CTRL_NONE PORT_FEATURE_FLOW_CONTROL_NONE #define FLOW_CTRL_NONE PORT_FEATURE_FLOW_CONTROL_NONE
u32 pause_mode;
#define PAUSE_NONE 0
#define PAUSE_SYMMETRIC 1
#define PAUSE_ASYMMETRIC 2
#define PAUSE_BOTH 3
u32 advertising; u32 advertising;
/* link settings - missing defines */ /* link settings - missing defines */
#define ADVERTISED_2500baseT_Full (1 << 15) #define ADVERTISED_2500baseT_Full (1 << 15)
#define ADVERTISED_CX4 (1 << 16)
u32 link_status; u32 link_status;
u32 line_speed; u32 line_speed;
...@@ -667,6 +663,8 @@ struct bnx2x { ...@@ -667,6 +663,8 @@ struct bnx2x {
#define NVRAM_TIMEOUT_COUNT 30000 #define NVRAM_TIMEOUT_COUNT 30000
#define NVRAM_PAGE_SIZE 256 #define NVRAM_PAGE_SIZE 256
u8 wol;
int rx_ring_size; int rx_ring_size;
u16 tx_quick_cons_trip_int; u16 tx_quick_cons_trip_int;
...@@ -718,9 +716,6 @@ struct bnx2x { ...@@ -718,9 +716,6 @@ struct bnx2x {
#endif #endif
char *name; char *name;
u16 bus_speed_mhz;
u8 wol;
u8 pad;
/* used to synchronize stats collecting */ /* used to synchronize stats collecting */
int stats_state; int stats_state;
...@@ -856,8 +851,8 @@ struct bnx2x { ...@@ -856,8 +851,8 @@ struct bnx2x {
#define MAX_SPQ_PENDING 8 #define MAX_SPQ_PENDING 8
#define BNX2X_NUM_STATS 31 #define BNX2X_NUM_STATS 34
#define BNX2X_NUM_TESTS 2 #define BNX2X_NUM_TESTS 1
#define DPM_TRIGER_TYPE 0x40 #define DPM_TRIGER_TYPE 0x40
...@@ -867,6 +862,15 @@ struct bnx2x { ...@@ -867,6 +862,15 @@ struct bnx2x {
DPM_TRIGER_TYPE); \ DPM_TRIGER_TYPE); \
} while (0) } while (0)
/* PCIE link and speed */
#define PCICFG_LINK_WIDTH 0x1f00000
#define PCICFG_LINK_WIDTH_SHIFT 20
#define PCICFG_LINK_SPEED 0xf0000
#define PCICFG_LINK_SPEED_SHIFT 16
#define BMAC_CONTROL_RX_ENABLE 2
#define pbd_tcp_flags(skb) (ntohl(tcp_flag_word(tcp_hdr(skb)))>>16 & 0xff)
/* stuff added to make the code fit 80Col */ /* stuff added to make the code fit 80Col */
...@@ -939,13 +943,13 @@ struct bnx2x { ...@@ -939,13 +943,13 @@ struct bnx2x {
#define LINK_16GTFD LINK_STATUS_SPEED_AND_DUPLEX_16GTFD #define LINK_16GTFD LINK_STATUS_SPEED_AND_DUPLEX_16GTFD
#define LINK_16GXFD LINK_STATUS_SPEED_AND_DUPLEX_16GXFD #define LINK_16GXFD LINK_STATUS_SPEED_AND_DUPLEX_16GXFD
#define NIG_STATUS_INTERRUPT_XGXS0_LINK10G \ #define NIG_STATUS_XGXS0_LINK10G \
NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G
#define NIG_XGXS0_LINK_STATUS \ #define NIG_STATUS_XGXS0_LINK_STATUS \
NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS
#define NIG_XGXS0_LINK_STATUS_SIZE \ #define NIG_STATUS_XGXS0_LINK_STATUS_SIZE \
NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE
#define NIG_SERDES0_LINK_STATUS \ #define NIG_STATUS_SERDES0_LINK_STATUS \
NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS
#define NIG_MASK_MI_INT \ #define NIG_MASK_MI_INT \
NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT
......
/* bnx2x_fw_defs.h: Broadcom Everest network driver. /* bnx2x_fw_defs.h: Broadcom Everest network driver.
* *
* Copyright (c) 2007 Broadcom Corporation * Copyright (c) 2007-2008 Broadcom Corporation
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
......
此差异已折叠。
/* bnx2x_init.h: Broadcom Everest network driver. /* bnx2x_init.h: Broadcom Everest network driver.
* *
* Copyright (c) 2007 Broadcom Corporation * Copyright (c) 2007-2008 Broadcom Corporation
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -409,7 +409,7 @@ static void bnx2x_init_pxp(struct bnx2x *bp) ...@@ -409,7 +409,7 @@ static void bnx2x_init_pxp(struct bnx2x *bp)
pci_read_config_word(bp->pdev, pci_read_config_word(bp->pdev,
bp->pcie_cap + PCI_EXP_DEVCTL, (u16 *)&val); bp->pcie_cap + PCI_EXP_DEVCTL, (u16 *)&val);
DP(NETIF_MSG_HW, "read 0x%x from devctl\n", val); DP(NETIF_MSG_HW, "read 0x%x from devctl\n", (u16)val);
w_order = ((val & PCI_EXP_DEVCTL_PAYLOAD) >> 5); w_order = ((val & PCI_EXP_DEVCTL_PAYLOAD) >> 5);
r_order = ((val & PCI_EXP_DEVCTL_READRQ) >> 12); r_order = ((val & PCI_EXP_DEVCTL_READRQ) >> 12);
...@@ -472,10 +472,14 @@ static void bnx2x_init_pxp(struct bnx2x *bp) ...@@ -472,10 +472,14 @@ static void bnx2x_init_pxp(struct bnx2x *bp)
REG_WR(bp, PXP2_REG_PSWRQ_BW_WR, val); REG_WR(bp, PXP2_REG_PSWRQ_BW_WR, val);
REG_WR(bp, PXP2_REG_RQ_WR_MBS0, w_order); REG_WR(bp, PXP2_REG_RQ_WR_MBS0, w_order);
REG_WR(bp, PXP2_REG_RQ_WR_MBS0 + 8, w_order); REG_WR(bp, PXP2_REG_RQ_WR_MBS1, w_order);
REG_WR(bp, PXP2_REG_RQ_RD_MBS0, r_order); REG_WR(bp, PXP2_REG_RQ_RD_MBS0, r_order);
REG_WR(bp, PXP2_REG_RQ_RD_MBS0 + 8, r_order); REG_WR(bp, PXP2_REG_RQ_RD_MBS1, r_order);
if (r_order == MAX_RD_ORD)
REG_WR(bp, PXP2_REG_RQ_PDR_LIMIT, 0xe00);
REG_WR(bp, PXP2_REG_WR_USDMDP_TH, (0x18 << w_order));
REG_WR(bp, PXP2_REG_WR_DMAE_TH, (128 << w_order)/16); REG_WR(bp, PXP2_REG_WR_DMAE_TH, (128 << w_order)/16);
} }
......
此差异已折叠。
...@@ -172,30 +172,30 @@ static char version[] __initdata = ...@@ -172,30 +172,30 @@ static char version[] __initdata =
them to system IRQ numbers. This mapping is card specific and is set to them to system IRQ numbers. This mapping is card specific and is set to
the configuration of the Cirrus Eval board for this chip. */ the configuration of the Cirrus Eval board for this chip. */
#ifdef CONFIG_ARCH_CLPS7500 #ifdef CONFIG_ARCH_CLPS7500
static unsigned int netcard_portlist[] __initdata = static unsigned int netcard_portlist[] __used __initdata =
{ 0x80090303, 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; { 0x80090303, 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0};
static unsigned int cs8900_irq_map[] = {12,0,0,0}; static unsigned int cs8900_irq_map[] = {12,0,0,0};
#elif defined(CONFIG_SH_HICOSH4) #elif defined(CONFIG_SH_HICOSH4)
static unsigned int netcard_portlist[] __initdata = static unsigned int netcard_portlist[] __used __initdata =
{ 0x0300, 0}; { 0x0300, 0};
static unsigned int cs8900_irq_map[] = {1,0,0,0}; static unsigned int cs8900_irq_map[] = {1,0,0,0};
#elif defined(CONFIG_MACH_IXDP2351) #elif defined(CONFIG_MACH_IXDP2351)
static unsigned int netcard_portlist[] __initdata = {IXDP2351_VIRT_CS8900_BASE, 0}; static unsigned int netcard_portlist[] __used __initdata = {IXDP2351_VIRT_CS8900_BASE, 0};
static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0}; static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0};
#include <asm/irq.h> #include <asm/irq.h>
#elif defined(CONFIG_ARCH_IXDP2X01) #elif defined(CONFIG_ARCH_IXDP2X01)
#include <asm/irq.h> #include <asm/irq.h>
static unsigned int netcard_portlist[] __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0}; static unsigned int netcard_portlist[] __used __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0};
static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0};
#elif defined(CONFIG_ARCH_PNX010X) #elif defined(CONFIG_ARCH_PNX010X)
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/arch/gpio.h> #include <asm/arch/gpio.h>
#define CIRRUS_DEFAULT_BASE IO_ADDRESS(EXT_STATIC2_s0_BASE + 0x200000) /* = Physical address 0x48200000 */ #define CIRRUS_DEFAULT_BASE IO_ADDRESS(EXT_STATIC2_s0_BASE + 0x200000) /* = Physical address 0x48200000 */
#define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */ #define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */
static unsigned int netcard_portlist[] __initdata = {CIRRUS_DEFAULT_BASE, 0}; static unsigned int netcard_portlist[] __used __initdata = {CIRRUS_DEFAULT_BASE, 0};
static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0}; static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0};
#else #else
static unsigned int netcard_portlist[] __initdata = static unsigned int netcard_portlist[] __used __initdata =
{ 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0};
static unsigned int cs8900_irq_map[] = {10,11,12,5}; static unsigned int cs8900_irq_map[] = {10,11,12,5};
#endif #endif
......
此差异已折叠。
此差异已折叠。
...@@ -42,8 +42,7 @@ ...@@ -42,8 +42,7 @@
struct e1000_info; struct e1000_info;
#define ndev_printk(level, netdev, format, arg...) \ #define ndev_printk(level, netdev, format, arg...) \
printk(level "%s: %s: " format, (netdev)->dev.parent->bus_id, \ printk(level "%s: " format, (netdev)->name, ## arg)
(netdev)->name, ## arg)
#ifdef DEBUG #ifdef DEBUG
#define ndev_dbg(netdev, format, arg...) \ #define ndev_dbg(netdev, format, arg...) \
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
...@@ -67,6 +67,7 @@ static struct ixgb_stats ixgb_gstrings_stats[] = { ...@@ -67,6 +67,7 @@ static struct ixgb_stats ixgb_gstrings_stats[] = {
{"rx_over_errors", IXGB_STAT(net_stats.rx_over_errors)}, {"rx_over_errors", IXGB_STAT(net_stats.rx_over_errors)},
{"rx_crc_errors", IXGB_STAT(net_stats.rx_crc_errors)}, {"rx_crc_errors", IXGB_STAT(net_stats.rx_crc_errors)},
{"rx_frame_errors", IXGB_STAT(net_stats.rx_frame_errors)}, {"rx_frame_errors", IXGB_STAT(net_stats.rx_frame_errors)},
{"rx_no_buffer_count", IXGB_STAT(stats.rnbc)},
{"rx_fifo_errors", IXGB_STAT(net_stats.rx_fifo_errors)}, {"rx_fifo_errors", IXGB_STAT(net_stats.rx_fifo_errors)},
{"rx_missed_errors", IXGB_STAT(net_stats.rx_missed_errors)}, {"rx_missed_errors", IXGB_STAT(net_stats.rx_missed_errors)},
{"tx_aborted_errors", IXGB_STAT(net_stats.tx_aborted_errors)}, {"tx_aborted_errors", IXGB_STAT(net_stats.tx_aborted_errors)},
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
...@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_card *card) ...@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_card *card)
return -ENOMEM; return -ENOMEM;
/* setup net_device structure */ /* setup net_device structure */
SET_NETDEV_DEV(netdev, &card->dev->core);
gelic_wl_setup_netdev_ops(netdev); gelic_wl_setup_netdev_ops(netdev);
/* setup some of net_device and register it */ /* setup some of net_device and register it */
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册