Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71d00fec authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  ixgb: fix TX hangs under heavy load
  e1000e: Fix typo ! &
  ixgbe: minor sparse fixes
  e1000: sparse warnings fixes
  ixgb: fix sparse warnings
  e1000e: fix sparse warnings
  mv643xx_eth: Fix MV643XX_ETH offsets used by Pegasos 2
  Blackfin EMAC driver: Fix Ethernet communication bug (dupliated and lost packets)
  DM9601: Support for ADMtek ADM8515 NIC
parents 8c1ee54c 19abe86d
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -371,7 +371,6 @@ static void bf537_adjust_link(struct net_device *dev)
		if (phydev->speed != lp->old_speed) {
		if (phydev->speed != lp->old_speed) {
#if defined(CONFIG_BFIN_MAC_RMII)
#if defined(CONFIG_BFIN_MAC_RMII)
			u32 opmode = bfin_read_EMAC_OPMODE();
			u32 opmode = bfin_read_EMAC_OPMODE();
			bf537mac_disable();
			switch (phydev->speed) {
			switch (phydev->speed) {
			case 10:
			case 10:
				opmode |= RMII_10;
				opmode |= RMII_10;
@@ -386,7 +385,6 @@ static void bf537_adjust_link(struct net_device *dev)
				break;
				break;
			}
			}
			bfin_write_EMAC_OPMODE(opmode);
			bfin_write_EMAC_OPMODE(opmode);
			bf537mac_enable();
#endif
#endif


			new_state = 1;
			new_state = 1;
+8 −0
Original line number Original line Diff line number Diff line
@@ -351,4 +351,12 @@ enum e1000_state_t {
	__E1000_DOWN
	__E1000_DOWN
};
};


extern char e1000_driver_name[];
extern const char e1000_driver_version[];

extern void e1000_power_up_phy(struct e1000_adapter *);
extern void e1000_set_ethtool_ops(struct net_device *netdev);
extern void e1000_check_options(struct e1000_adapter *adapter);


#endif /* _E1000_H_ */
#endif /* _E1000_H_ */
+12 −17
Original line number Original line Diff line number Diff line
@@ -32,9 +32,6 @@


#include <asm/uaccess.h>
#include <asm/uaccess.h>


extern char e1000_driver_name[];
extern char e1000_driver_version[];

extern int e1000_up(struct e1000_adapter *adapter);
extern int e1000_up(struct e1000_adapter *adapter);
extern void e1000_down(struct e1000_adapter *adapter);
extern void e1000_down(struct e1000_adapter *adapter);
extern void e1000_reinit_locked(struct e1000_adapter *adapter);
extern void e1000_reinit_locked(struct e1000_adapter *adapter);
@@ -733,16 +730,16 @@ err_setup:


#define REG_PATTERN_TEST(R, M, W)                                              \
#define REG_PATTERN_TEST(R, M, W)                                              \
{                                                                              \
{                                                                              \
	uint32_t pat, value;                                                   \
	uint32_t pat, val;                                                     \
	uint32_t test[] =                                                      \
	const uint32_t test[] = 					       \
		{0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF};              \
		{0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF};              \
	for (pat = 0; pat < ARRAY_SIZE(test); pat++) {           	       \
	for (pat = 0; pat < ARRAY_SIZE(test); pat++) {           	       \
		E1000_WRITE_REG(&adapter->hw, R, (test[pat] & W));             \
		E1000_WRITE_REG(&adapter->hw, R, (test[pat] & W));             \
		value = E1000_READ_REG(&adapter->hw, R);                       \
		val = E1000_READ_REG(&adapter->hw, R);                         \
		if (value != (test[pat] & W & M)) {                             \
		if (val != (test[pat] & W & M)) {                              \
			DPRINTK(DRV, ERR, "pattern test reg %04X failed: got " \
			DPRINTK(DRV, ERR, "pattern test reg %04X failed: got " \
			        "0x%08X expected 0x%08X\n",                    \
			        "0x%08X expected 0x%08X\n",                    \
			        E1000_##R, value, (test[pat] & W & M));        \
			        E1000_##R, val, (test[pat] & W & M));          \
			*data = (adapter->hw.mac_type < e1000_82543) ?         \
			*data = (adapter->hw.mac_type < e1000_82543) ?         \
				E1000_82542_##R : E1000_##R;                   \
				E1000_82542_##R : E1000_##R;                   \
			return 1;                                              \
			return 1;                                              \
@@ -752,12 +749,12 @@ err_setup:


#define REG_SET_AND_CHECK(R, M, W)                                             \
#define REG_SET_AND_CHECK(R, M, W)                                             \
{                                                                              \
{                                                                              \
	uint32_t value;                                                        \
	uint32_t val;                                                          \
	E1000_WRITE_REG(&adapter->hw, R, W & M);                               \
	E1000_WRITE_REG(&adapter->hw, R, W & M);                               \
	value = E1000_READ_REG(&adapter->hw, R);                               \
	val = E1000_READ_REG(&adapter->hw, R);                                 \
	if ((W & M) != (value & M)) {                                          \
	if ((W & M) != (val & M)) {                                            \
		DPRINTK(DRV, ERR, "set/check reg %04X test failed: got 0x%08X "\
		DPRINTK(DRV, ERR, "set/check reg %04X test failed: got 0x%08X "\
		        "expected 0x%08X\n", E1000_##R, (value & M), (W & M)); \
		        "expected 0x%08X\n", E1000_##R, (val & M), (W & M));   \
		*data = (adapter->hw.mac_type < e1000_82543) ?                 \
		*data = (adapter->hw.mac_type < e1000_82543) ?                 \
			E1000_82542_##R : E1000_##R;                           \
			E1000_82542_##R : E1000_##R;                           \
		return 1;                                                      \
		return 1;                                                      \
@@ -1621,8 +1618,6 @@ e1000_get_sset_count(struct net_device *netdev, int sset)
	}
	}
}
}


extern void e1000_power_up_phy(struct e1000_adapter *);

static void
static void
e1000_diag_test(struct net_device *netdev,
e1000_diag_test(struct net_device *netdev,
		   struct ethtool_test *eth_test, uint64_t *data)
		   struct ethtool_test *eth_test, uint64_t *data)
@@ -1859,8 +1854,8 @@ e1000_phys_id(struct net_device *netdev, uint32_t data)
{
{
	struct e1000_adapter *adapter = netdev_priv(netdev);
	struct e1000_adapter *adapter = netdev_priv(netdev);


	if (!data || data > (uint32_t)(MAX_SCHEDULE_TIMEOUT / HZ))
	if (!data)
		data = (uint32_t)(MAX_SCHEDULE_TIMEOUT / HZ);
		data = INT_MAX;


	if (adapter->hw.mac_type < e1000_82571) {
	if (adapter->hw.mac_type < e1000_82571) {
		if (!adapter->blink_timer.function) {
		if (!adapter->blink_timer.function) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -8607,7 +8607,7 @@ e1000_read_ich8_data(struct e1000_hw *hw, uint32_t index,


    DEBUGFUNC("e1000_read_ich8_data");
    DEBUGFUNC("e1000_read_ich8_data");


    if (size < 1  || size > 2 || data == 0x0 ||
    if (size < 1  || size > 2 || data == NULL ||
        index > ICH_FLASH_LINEAR_ADDR_MASK)
        index > ICH_FLASH_LINEAR_ADDR_MASK)
        return error;
        return error;


@@ -8841,7 +8841,7 @@ e1000_read_ich8_word(struct e1000_hw *hw, uint32_t index, uint16_t *data)
 * amount of NVM used in each bank is a *minimum* of 4 KBytes, but in fact the
 * amount of NVM used in each bank is a *minimum* of 4 KBytes, but in fact the
 * bank size may be 4, 8 or 64 KBytes
 * bank size may be 4, 8 or 64 KBytes
 *****************************************************************************/
 *****************************************************************************/
int32_t
static int32_t
e1000_erase_ich8_4k_segment(struct e1000_hw *hw, uint32_t bank)
e1000_erase_ich8_4k_segment(struct e1000_hw *hw, uint32_t bank)
{
{
    union ich8_hws_flash_status hsfsts;
    union ich8_hws_flash_status hsfsts;
+2 −5
Original line number Original line Diff line number Diff line
@@ -37,8 +37,8 @@ static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
#define DRIVERNAPI "-NAPI"
#define DRIVERNAPI "-NAPI"
#endif
#endif
#define DRV_VERSION "7.3.20-k2"DRIVERNAPI
#define DRV_VERSION "7.3.20-k2"DRIVERNAPI
char e1000_driver_version[] = DRV_VERSION;
const char e1000_driver_version[] = DRV_VERSION;
static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
static const char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";


/* e1000_pci_tbl - PCI Device ID Table
/* e1000_pci_tbl - PCI Device ID Table
 *
 *
@@ -188,7 +188,6 @@ static void e1000_alloc_rx_buffers_ps(struct e1000_adapter *adapter,
static int e1000_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd);
static int e1000_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd);
static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
			   int cmd);
			   int cmd);
void e1000_set_ethtool_ops(struct net_device *netdev);
static void e1000_enter_82542_rst(struct e1000_adapter *adapter);
static void e1000_enter_82542_rst(struct e1000_adapter *adapter);
static void e1000_leave_82542_rst(struct e1000_adapter *adapter);
static void e1000_leave_82542_rst(struct e1000_adapter *adapter);
static void e1000_tx_timeout(struct net_device *dev);
static void e1000_tx_timeout(struct net_device *dev);
@@ -213,8 +212,6 @@ static void e1000_shutdown(struct pci_dev *pdev);
static void e1000_netpoll (struct net_device *netdev);
static void e1000_netpoll (struct net_device *netdev);
#endif
#endif


extern void e1000_check_options(struct e1000_adapter *adapter);

#define COPYBREAK_DEFAULT 256
#define COPYBREAK_DEFAULT 256
static unsigned int copybreak __read_mostly = COPYBREAK_DEFAULT;
static unsigned int copybreak __read_mostly = COPYBREAK_DEFAULT;
module_param(copybreak, uint, 0644);
module_param(copybreak, uint, 0644);
Loading