linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: netdev@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: [git patches] net driver fixes
Date: Mon, 26 Nov 2007 11:12:54 -0500	[thread overview]
Message-ID: <20071126161254.GA15497@havoc.gtf.org> (raw)


Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-linus

to receive the following updates:

 drivers/net/Kconfig            |    2 +-
 drivers/net/amd8111e.c         |    6 ++++++
 drivers/net/bfin_mac.c         |    2 +-
 drivers/net/ehea/ehea.h        |    2 +-
 drivers/net/ehea/ehea_main.c   |   20 ++++++++++++--------
 drivers/net/ehea/ehea_qmr.h    |    4 ++--
 drivers/net/forcedeth.c        |   38 +++++++++++++++++++++++++-------------
 drivers/net/ibm_newemac/core.c |   31 ++++++++++++++++++++-----------
 drivers/net/ibm_newemac/core.h |    1 +
 drivers/net/sky2.c             |    6 +-----
 drivers/net/smc911x.c          |   19 +++++--------------
 drivers/net/smc911x.h          |    2 +-
 drivers/net/smc91x.h           |    2 +-
 drivers/net/tulip/dmfe.c       |    4 ++--
 drivers/net/usb/dm9601.c       |    2 +-
 include/linux/pci_ids.h        |    4 ++++
 16 files changed, 84 insertions(+), 61 deletions(-)

Ayaz Abdulla (2):
      forcedeth: new mcp79 pci ids
      forcedeth boot delay fix

Benjamin Herrenschmidt (1):
      ibm_newemac: Fix possible lockup on close

Jeff Garzik (1):
      dmfe: checkpatch fix (add whitespace)

Jiri Bohac (1):
      amd8111e: don't call napi_enable if configured w/o NAPI

Maxim Levitsky (1):
      NET: dmfe: don't access configuration space in D3 state

Mike Frysinger (1):
      Blackfin SMC91x Driver: punt CONFIG_BFIN -- we already have CONFIG_BLACKFIN

Peter Korsgaard (4):
      dm9601: Fix printk
      smc911x: Fix undefined CONFIG_ symbol warning
      smc911x: Fix unused variable warning.
      smc911x: Fix multicast handling

Stephen Hemminger (1):
      sky2: disable rx checksum on Yukon XL

Thomas Klein (2):
      ehea: Improve tx packets counting
      ehea: Reworked rcv queue handling to log only fatal errors

Vitja Makarov (1):
      Blackfin EMAC driver: fix bug - NAT doesn't work with bfin_mac driver

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index e8d69b0..1437b37 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -888,7 +888,7 @@ config SMC91X
 	tristate "SMC 91C9x/91C1xxx support"
 	select CRC32
 	select MII
-	depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00 || BFIN
+	depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || SOC_AU1X00 || BLACKFIN
 	help
 	  This is a driver for SMC's 91x series of Ethernet chipsets,
 	  including the SMC91C94 and the SMC91C111. Say Y if you want it
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index eebf5bb..e7fdd81 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -1340,7 +1340,9 @@ static int amd8111e_close(struct net_device * dev)
 	struct amd8111e_priv *lp = netdev_priv(dev);
 	netif_stop_queue(dev);
 
+#ifdef CONFIG_AMD8111E_NAPI
 	napi_disable(&lp->napi);
+#endif
 
 	spin_lock_irq(&lp->lock);
 
@@ -1372,7 +1374,9 @@ static int amd8111e_open(struct net_device * dev )
 					 dev->name, dev))
 		return -EAGAIN;
 
+#ifdef CONFIG_AMD8111E_NAPI
 	napi_enable(&lp->napi);
+#endif
 
 	spin_lock_irq(&lp->lock);
 
@@ -1380,7 +1384,9 @@ static int amd8111e_open(struct net_device * dev )
 
 	if(amd8111e_restart(dev)){
 		spin_unlock_irq(&lp->lock);
+#ifdef CONFIG_AMD8111E_NAPI
 		napi_disable(&lp->napi);
+#endif
 		if (dev->irq)
 			free_irq(dev->irq, dev);
 		return -ENOMEM;
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 084acfd..f0f8516 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -676,7 +676,7 @@ static void bf537mac_rx(struct net_device *dev)
 	skb->protocol = eth_type_trans(skb, dev);
 #if defined(BFIN_MAC_CSUM_OFFLOAD)
 	skb->csum = current_rx_ptr->status.ip_payload_csum;
-	skb->ip_summed = CHECKSUM_PARTIAL;
+	skb->ip_summed = CHECKSUM_COMPLETE;
 #endif
 
 	netif_rx(skb);
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index f78e5bf..5f82a46 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
 #include <asm/io.h>
 
 #define DRV_NAME	"ehea"
-#define DRV_VERSION	"EHEA_0080"
+#define DRV_VERSION	"EHEA_0083"
 
 /* eHEA capability flags */
 #define DLPAR_PORT_ADD_REM 1
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index f0319f1..869e160 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -136,7 +136,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
 	struct ehea_port *port = netdev_priv(dev);
 	struct net_device_stats *stats = &port->stats;
 	struct hcp_ehea_port_cb2 *cb2;
-	u64 hret, rx_packets;
+	u64 hret, rx_packets, tx_packets;
 	int i;
 
 	memset(stats, 0, sizeof(*stats));
@@ -162,7 +162,11 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
 	for (i = 0; i < port->num_def_qps; i++)
 		rx_packets += port->port_res[i].rx_packets;
 
-	stats->tx_packets = cb2->txucp + cb2->txmcp + cb2->txbcp;
+	tx_packets = 0;
+	for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++)
+		tx_packets += port->port_res[i].tx_packets;
+
+	stats->tx_packets = tx_packets;
 	stats->multicast = cb2->rxmcp;
 	stats->rx_errors = cb2->rxuerr;
 	stats->rx_bytes = cb2->rxo;
@@ -406,11 +410,6 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
 	if (cqe->status & EHEA_CQE_STAT_ERR_CRC)
 		pr->p_stats.err_frame_crc++;
 
-	if (netif_msg_rx_err(pr->port)) {
-		ehea_error("CQE Error for QP %d", pr->qp->init_attr.qp_nr);
-		ehea_dump(cqe, sizeof(*cqe), "CQE");
-	}
-
 	if (rq == 2) {
 		*processed_rq2 += 1;
 		skb = get_skb_by_index(pr->rq2_skba.arr, pr->rq2_skba.len, cqe);
@@ -422,7 +421,11 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
 	}
 
 	if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) {
-		ehea_error("Critical receive error. Resetting port.");
+		if (netif_msg_rx_err(pr->port)) {
+			ehea_error("Critical receive error for QP %d. "
+				   "Resetting port.", pr->qp->init_attr.qp_nr);
+			ehea_dump(cqe, sizeof(*cqe), "CQE");
+		}
 		schedule_work(&pr->port->reset_task);
 		return 1;
 	}
@@ -2000,6 +2003,7 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	}
 
 	ehea_post_swqe(pr->qp, swqe);
+	pr->tx_packets++;
 
 	if (unlikely(atomic_read(&pr->swqe_avail) <= 1)) {
 		spin_lock_irqsave(&pr->netif_queue, flags);
diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h
index 562de0e..bc62d38 100644
--- a/drivers/net/ehea/ehea_qmr.h
+++ b/drivers/net/ehea/ehea_qmr.h
@@ -145,8 +145,8 @@ struct ehea_rwqe {
 #define EHEA_CQE_VLAN_TAG_XTRACT   0x0400
 
 #define EHEA_CQE_TYPE_RQ           0x60
-#define EHEA_CQE_STAT_ERR_MASK     0x720F
-#define EHEA_CQE_STAT_FAT_ERR_MASK 0x1F
+#define EHEA_CQE_STAT_ERR_MASK     0x700F
+#define EHEA_CQE_STAT_FAT_ERR_MASK 0xF
 #define EHEA_CQE_STAT_ERR_TCP      0x4000
 #define EHEA_CQE_STAT_ERR_IP       0x2000
 #define EHEA_CQE_STAT_ERR_CRC      0x1000
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 92ce2e3..a96583c 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5286,19 +5286,15 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
 		if (readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_PHY_INIT) {
 			np->mac_in_use = readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_MGMT_ST;
 			dprintk(KERN_INFO "%s: mgmt unit is running. mac in use %x.\n", pci_name(pci_dev), np->mac_in_use);
-			for (i = 0; i < 5000; i++) {
-				msleep(1);
-				if (nv_mgmt_acquire_sema(dev)) {
-					/* management unit setup the phy already? */
-					if ((readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_MASK) ==
-					    NVREG_XMITCTL_SYNC_PHY_INIT) {
-						/* phy is inited by mgmt unit */
-						phyinitialized = 1;
-						dprintk(KERN_INFO "%s: Phy already initialized by mgmt unit.\n", pci_name(pci_dev));
-					} else {
-						/* we need to init the phy */
-					}
-					break;
+			if (nv_mgmt_acquire_sema(dev)) {
+				/* management unit setup the phy already? */
+				if ((readl(base + NvRegTransmitterControl) & NVREG_XMITCTL_SYNC_MASK) ==
+				    NVREG_XMITCTL_SYNC_PHY_INIT) {
+					/* phy is inited by mgmt unit */
+					phyinitialized = 1;
+					dprintk(KERN_INFO "%s: Phy already initialized by mgmt unit.\n", pci_name(pci_dev));
+				} else {
+					/* we need to init the phy */
 				}
 			}
 		}
@@ -5613,6 +5609,22 @@ static struct pci_device_id pci_tbl[] = {
 		PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_35),
 		.driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
 	},
+	{	/* MCP79 Ethernet Controller */
+		PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_36),
+		.driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
+	},
+	{	/* MCP79 Ethernet Controller */
+		PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_37),
+		.driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
+	},
+	{	/* MCP79 Ethernet Controller */
+		PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_38),
+		.driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
+	},
+	{	/* MCP79 Ethernet Controller */
+		PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_39),
+		.driver_data = DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER|DEV_HAS_CHECKSUM|DEV_HAS_HIGH_DMA|DEV_HAS_MSI|DEV_HAS_POWER_CNTRL|DEV_HAS_PAUSEFRAME_TX|DEV_HAS_STATISTICS_V2|DEV_HAS_TEST_EXTENDED|DEV_HAS_MGMT_UNIT,
+	},
 	{0,},
 };
 
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 0de3aa2..eb0718b 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -642,9 +642,11 @@ static void emac_reset_work(struct work_struct *work)
 	DBG(dev, "reset_work" NL);
 
 	mutex_lock(&dev->link_lock);
-	emac_netif_stop(dev);
-	emac_full_tx_reset(dev);
-	emac_netif_start(dev);
+	if (dev->opened) {
+		emac_netif_stop(dev);
+		emac_full_tx_reset(dev);
+		emac_netif_start(dev);
+	}
 	mutex_unlock(&dev->link_lock);
 }
 
@@ -1063,10 +1065,9 @@ static int emac_open(struct net_device *ndev)
 	dev->rx_sg_skb = NULL;
 
 	mutex_lock(&dev->link_lock);
+	dev->opened = 1;
 
-	/* XXX Start PHY polling now. Shouldn't wr do like sungem instead and
-	 * always poll the PHY even when the iface is down ? That would allow
-	 * things like laptop-net to work. --BenH
+	/* Start PHY polling now.
 	 */
 	if (dev->phy.address >= 0) {
 		int link_poll_interval;
@@ -1145,9 +1146,11 @@ static void emac_link_timer(struct work_struct *work)
 	int link_poll_interval;
 
 	mutex_lock(&dev->link_lock);
-
 	DBG2(dev, "link timer" NL);
 
+	if (!dev->opened)
+		goto bail;
+
 	if (dev->phy.def->ops->poll_link(&dev->phy)) {
 		if (!netif_carrier_ok(dev->ndev)) {
 			/* Get new link parameters */
@@ -1170,13 +1173,14 @@ static void emac_link_timer(struct work_struct *work)
 		link_poll_interval = PHY_POLL_LINK_OFF;
 	}
 	schedule_delayed_work(&dev->link_work, link_poll_interval);
-
+ bail:
 	mutex_unlock(&dev->link_lock);
 }
 
 static void emac_force_link_update(struct emac_instance *dev)
 {
 	netif_carrier_off(dev->ndev);
+	smp_rmb();
 	if (dev->link_polling) {
 		cancel_rearming_delayed_work(&dev->link_work);
 		if (dev->link_polling)
@@ -1191,11 +1195,14 @@ static int emac_close(struct net_device *ndev)
 
 	DBG(dev, "close" NL);
 
-	if (dev->phy.address >= 0)
+	if (dev->phy.address >= 0) {
+		dev->link_polling = 0;
 		cancel_rearming_delayed_work(&dev->link_work);
-
+	}
+	mutex_lock(&dev->link_lock);
 	emac_netif_stop(dev);
-	flush_scheduled_work();
+	dev->opened = 0;
+	mutex_unlock(&dev->link_lock);
 
 	emac_rx_disable(dev);
 	emac_tx_disable(dev);
@@ -2756,6 +2763,8 @@ static int __devexit emac_remove(struct of_device *ofdev)
 
 	unregister_netdev(dev->ndev);
 
+	flush_scheduled_work();
+
 	if (emac_has_feature(dev, EMAC_FTR_HAS_TAH))
 		tah_detach(dev->tah_dev, dev->tah_port);
 	if (emac_has_feature(dev, EMAC_FTR_HAS_RGMII))
diff --git a/drivers/net/ibm_newemac/core.h b/drivers/net/ibm_newemac/core.h
index 4011803..a010b24 100644
--- a/drivers/net/ibm_newemac/core.h
+++ b/drivers/net/ibm_newemac/core.h
@@ -258,6 +258,7 @@ struct emac_instance {
 	int				stop_timeout;	/* in us */
 	int				no_mcast;
 	int				mcast_pending;
+	int				opened;
 	struct work_struct		reset_work;
 	spinlock_t			lock;
 };
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index a2070db..8c4c743 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1320,15 +1320,11 @@ static int sky2_up(struct net_device *dev)
 	 */
 	if (otherdev && netif_running(otherdev) &&
  	    (cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) {
- 		struct sky2_port *osky2 = netdev_priv(otherdev);
  		u16 cmd;
 
 		pci_read_config_word(hw->pdev, cap + PCI_X_CMD, &cmd);
  		cmd &= ~PCI_X_CMD_MAX_SPLIT;
 		pci_write_config_word(hw->pdev, cap + PCI_X_CMD, cmd);
-
- 		sky2->rx_csum = 0;
- 		osky2->rx_csum = 0;
  	}
 
 	if (netif_msg_ifup(sky2))
@@ -4013,7 +4009,7 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw,
 	sky2->duplex = -1;
 	sky2->speed = -1;
 	sky2->advertising = sky2_supported_modes(hw);
-	sky2->rx_csum = 1;
+	sky2->rx_csum = (hw->chip_id != CHIP_ID_YUKON_XL);
 	sky2->wol = wol;
 
 	spin_lock_init(&sky2->phy_lock);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index dd18af0..1a3d80b 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -428,7 +428,6 @@ static inline void smc911x_drop_pkt(struct net_device *dev)
  */
 static inline void	 smc911x_rcv(struct net_device *dev)
 {
-	struct smc911x_local *lp = netdev_priv(dev);
 	unsigned long ioaddr = dev->base_addr;
 	unsigned int pkt_len, status;
 	struct sk_buff *skb;
@@ -473,6 +472,7 @@ static inline void	 smc911x_rcv(struct net_device *dev)
 		skb_put(skb,pkt_len-4);
 #ifdef SMC_USE_DMA
 		{
+		struct smc911x_local *lp = netdev_priv(dev);
 		unsigned int fifo;
 		/* Lower the FIFO threshold if possible */
 		fifo = SMC_GET_FIFO_INT();
@@ -1379,13 +1379,6 @@ static void smc911x_set_multicast_list(struct net_device *dev)
 	unsigned int multicast_table[2];
 	unsigned int mcr, update_multicast = 0;
 	unsigned long flags;
-	/* table for flipping the order of 5 bits */
-	static const unsigned char invert5[] =
-		{0x00, 0x10, 0x08, 0x18, 0x04, 0x14, 0x0C, 0x1C,
-		 0x02, 0x12, 0x0A, 0x1A, 0x06, 0x16, 0x0E, 0x1E,
-		 0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0D, 0x1D,
-		 0x03, 0x13, 0x0B, 0x1B, 0x07, 0x17, 0x0F, 0x1F};
-
 
 	DBG(SMC_DEBUG_FUNC, "%s: --> %s\n", dev->name, __FUNCTION__);
 
@@ -1432,7 +1425,7 @@ static void smc911x_set_multicast_list(struct net_device *dev)
 
 		cur_addr = dev->mc_list;
 		for (i = 0; i < dev->mc_count; i++, cur_addr = cur_addr->next) {
-			int position;
+			u32 position;
 
 			/* do we have a pointer here? */
 			if (!cur_addr)
@@ -1442,12 +1435,10 @@ static void smc911x_set_multicast_list(struct net_device *dev)
 			if (!(*cur_addr->dmi_addr & 1))
 				 continue;
 
-			/* only use the low order bits */
-			position = crc32_le(~0, cur_addr->dmi_addr, 6) & 0x3f;
+			/* upper 6 bits are used as hash index */
+			position = ether_crc(ETH_ALEN, cur_addr->dmi_addr)>>26;
 
-			/* do some messy swapping to put the bit in the right spot */
-			multicast_table[invert5[position&0x1F]&0x1] |=
-				(1<<invert5[(position>>1)&0x1F]);
+			multicast_table[position>>5] |= 1 << (position&0x1f);
 		}
 
 		/* be sure I get rid of flags I might have set */
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h
index 16a0edc..d04e4fa 100644
--- a/drivers/net/smc911x.h
+++ b/drivers/net/smc911x.h
@@ -37,7 +37,7 @@
   #define SMC_USE_16BIT		0
   #define SMC_USE_32BIT		1
   #define SMC_IRQ_SENSE		IRQF_TRIGGER_FALLING
-#elif CONFIG_SH_MAGIC_PANEL_R2
+#elif defined(CONFIG_SH_MAGIC_PANEL_R2)
   #define SMC_USE_SH_DMA	0
   #define SMC_USE_16BIT		0
   #define SMC_USE_32BIT		1
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index db34e1e..07b7f71 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -55,7 +55,7 @@
 #define SMC_insw(a, r, p, l)	readsw((a) + (r), p, l)
 #define SMC_outsw(a, r, p, l)	writesw((a) + (r), p, l)
 
-#elif defined(CONFIG_BFIN)
+#elif defined(CONFIG_BLACKFIN)
 
 #define SMC_IRQ_FLAGS		IRQF_TRIGGER_HIGH
 #define RPC_LSA_DEFAULT		RPC_LED_100_10
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index ca90566..b4891ca 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -2118,8 +2118,8 @@ static int dmfe_suspend(struct pci_dev *pci_dev, pm_message_t state)
 	pci_enable_wake(pci_dev, PCI_D3cold, 1);
 
 	/* Power down device*/
-	pci_set_power_state(pci_dev, pci_choose_state (pci_dev,state));
 	pci_save_state(pci_dev);
+	pci_set_power_state(pci_dev, pci_choose_state (pci_dev, state));
 
 	return 0;
 }
@@ -2129,8 +2129,8 @@ static int dmfe_resume(struct pci_dev *pci_dev)
 	struct net_device *dev = pci_get_drvdata(pci_dev);
 	u32 tmp;
 
-	pci_restore_state(pci_dev);
 	pci_set_power_state(pci_dev, PCI_D0);
+	pci_restore_state(pci_dev);
 
 	/* Re-initilize DM910X board */
 	dmfe_init_dm910x(dev);
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c
index 2c68573..1ffdd10 100644
--- a/drivers/net/usb/dm9601.c
+++ b/drivers/net/usb/dm9601.c
@@ -94,7 +94,7 @@ static void dm_write_async_callback(struct urb *urb)
 	struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context;
 
 	if (urb->status < 0)
-		printk(KERN_DEBUG "dm_write_async_callback() failed with %d",
+		printk(KERN_DEBUG "dm_write_async_callback() failed with %d\n",
 		       urb->status);
 
 	kfree(req);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 1ee009e..111aa10 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1237,6 +1237,10 @@
 #define PCI_DEVICE_ID_NVIDIA_NVENET_33              0x0761
 #define PCI_DEVICE_ID_NVIDIA_NVENET_34              0x0762
 #define PCI_DEVICE_ID_NVIDIA_NVENET_35              0x0763
+#define PCI_DEVICE_ID_NVIDIA_NVENET_36              0x0AB0
+#define PCI_DEVICE_ID_NVIDIA_NVENET_37              0x0AB1
+#define PCI_DEVICE_ID_NVIDIA_NVENET_38              0x0AB2
+#define PCI_DEVICE_ID_NVIDIA_NVENET_39              0x0AB3
 
 #define PCI_VENDOR_ID_IMS		0x10e0
 #define PCI_DEVICE_ID_IMS_TT128		0x9128

             reply	other threads:[~2007-11-26 16:13 UTC|newest]

Thread overview: 204+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-26 16:12 Jeff Garzik [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-10-21  6:18 [git patches] net driver fixes Jeff Garzik
2008-10-21 23:26 ` David Miller
2008-10-16 10:03 Jeff Garzik
2008-10-16 21:16 ` David Miller
2008-09-13 20:35 Jeff Garzik
2008-09-14 22:51 ` Ingo Oeser
2008-09-15 19:09 ` David Miller
2008-09-15 20:17   ` Jeff Garzik
2008-09-15 20:27     ` David Miller
2008-09-15 20:45       ` Jeff Garzik
2008-09-15 21:14         ` David Miller
2008-09-15 21:30           ` Krzysztof Halasa
2008-09-15 21:53           ` Thomas Bogendoerfer
2008-09-15 22:11             ` David Miller
2008-09-15 22:38               ` Jeff Garzik
2008-09-15 22:41                 ` David Miller
2008-09-15 23:25                   ` Jeff Garzik
2008-09-15 23:28                     ` David Miller
2008-09-16  8:39               ` Adrian Bunk
2008-09-16  9:18                 ` Thomas Bogendoerfer
2008-09-16  9:40                   ` Adrian Bunk
2008-09-16 10:48                     ` Adrian Bunk
2008-09-16 11:43                       ` Jarek Poplawski
2008-09-16 12:15                         ` Adrian Bunk
2008-09-16 13:54                           ` Theodore Tso
2008-09-16 14:02                             ` Arjan van de Ven
2008-09-16 14:34                               ` Adrian Bunk
2008-09-16 14:48                                 ` Arjan van de Ven
2008-09-16 15:21                                   ` Thomas Bogendoerfer
2008-09-16 15:43                                   ` Adrian Bunk
2008-09-16 14:46                             ` Adrian Bunk
2008-09-15 21:11       ` David Miller
2008-09-15 21:24         ` Jeff Garzik
2008-09-15 22:07           ` David Miller
2008-09-15 22:34             ` Jeff Garzik
2008-09-15 22:39               ` David Miller
2008-09-16  2:01         ` Simon Horman
2008-09-20  7:24           ` David Miller
2008-08-27 10:36 Jeff Garzik
2008-08-27 11:29 ` David Miller
2008-06-12  2:30 Jeff Garzik
2008-06-12  3:33 ` David Miller
2008-06-10 23:19 Jeff Garzik
2008-06-10 23:35 ` David Miller
2008-04-04  6:33 Jeff Garzik
2008-04-04 10:37 ` Gilles Espinasse
2008-04-04 19:39 ` David Miller
2008-03-29  2:23 Jeff Garzik
2008-03-29  2:57 ` David Miller
2008-03-26  5:31 Jeff Garzik
2008-03-26  6:09 ` David Miller
2008-03-17 12:23 Jeff Garzik
2008-03-17 19:00 ` David Miller
2008-03-05 12:39 Jeff Garzik
2008-03-05 20:25 ` David Miller
2008-02-20 16:55 Jeff Garzik
2008-02-20 21:15 ` David Miller
2008-02-20 21:23   ` J. Bruce Fields
2008-02-20 21:42     ` David Miller
2008-02-20 22:25       ` J. Bruce Fields
2008-02-20 22:57         ` David Miller
2008-02-20 22:40       ` Francois Romieu
2008-02-20 23:07         ` David Miller
2008-02-24  5:48           ` Jeff Garzik
2008-02-24  5:59             ` David Miller
2008-02-15 16:03 Jeff Garzik
2008-02-16  0:16 ` David Miller
2008-02-16  0:52   ` Jeff Garzik
2008-01-30  9:44 Jeff Garzik
2008-01-30 10:21 ` Sam Ravnborg
2008-01-30 10:38   ` Jeff Garzik
2008-01-30 22:47   ` Francois Romieu
2008-01-31  5:05     ` Sam Ravnborg
2008-01-18 20:17 Jeff Garzik
2008-01-12 23:30 Jeff Garzik
2007-12-23  5:33 Jeff Garzik
2007-12-23  6:27 ` Al Viro
2007-12-23  6:42   ` Jeff Garzik
2007-12-23  7:02     ` Al Viro
2007-12-18  2:01 Jeff Garzik
2007-12-07 20:31 Jeff Garzik
2007-12-04 20:10 Jeff Garzik
2007-12-01 23:37 Jeff Garzik
2007-11-10 21:42 Jeff Garzik
2007-11-06  0:03 Jeff Garzik
2007-11-01 20:05 Jeff Garzik
2007-10-30 18:45 Jeff Garzik
2007-10-20  3:08 Jeff Garzik
2007-10-18  1:07 Jeff Garzik
2007-10-03 18:40 Jeff Garzik
2007-10-02 17:18 Jeff Garzik
2007-09-28  4:21 Jeff Garzik
2007-09-25  5:08 Jeff Garzik
2007-09-20 19:33 Jeff Garzik
2007-09-13  5:30 Jeff Garzik
2007-09-14 18:13 ` Dan Williams
2007-09-14 18:17   ` Jeff Garzik
2007-09-14 18:31     ` Dan Williams
2007-09-14 19:19       ` Jay Vosburgh
2007-09-14 20:11         ` Dan Williams
2007-09-14 20:39           ` Jay Vosburgh
2007-09-14 21:09   ` Kok, Auke
2007-08-31 18:46 Jeff Garzik
2007-08-25  7:51 Jeff Garzik
2007-08-14  6:10 Jeff Garzik
2007-08-08  0:38 Jeff Garzik
2007-07-30 21:23 Jeff Garzik
2007-07-30 22:36 ` Satyam Sharma
2007-07-30 22:38   ` Jeff Garzik
2007-07-30 22:57     ` Satyam Sharma
2007-08-31 13:10       ` Jeff Garzik
2007-07-02 14:54 Jeff Garzik
2007-07-02 22:13 ` Adrian Bunk
2007-07-02 22:15   ` Stephen Hemminger
2007-06-27  7:34 Jeff Garzik
2007-06-20 23:48 Jeff Garzik
2007-06-13  3:06 Jeff Garzik
2007-06-10  3:31 Jeff Garzik
2007-06-03 16:02 Jeff Garzik
2007-05-30 15:13 Jeff Garzik
2007-05-24 22:30 Jeff Garzik
2007-05-21 23:51 Jeff Garzik
2007-05-18  1:37 Jeff Garzik
2007-05-15 23:43 Jeff Garzik
2007-04-28  0:42 Jeff Garzik
2007-04-24 17:53 Jeff Garzik
2007-04-19 19:31 Jeff Garzik
2007-04-11 18:04 Jeff Garzik
2007-04-04  4:01 Jeff Garzik
2007-03-29 20:10 Jeff Garzik
2007-03-28  7:31 Jeff Garzik
2007-03-23  6:57 Jeff Garzik
2007-03-23 21:56 ` Guennadi Liakhovetski
2007-03-29 12:25   ` Jeff Garzik
2007-03-30  7:32     ` Guennadi Liakhovetski
2007-03-30  7:46       ` Samuel Ortiz
2007-03-15 19:56 Jeff Garzik
2007-03-09 17:33 Jeff Garzik
2007-03-06 11:48 Jeff Garzik
2007-03-12 10:02 ` Geert Uytterhoeven
2007-03-13  0:02   ` David Miller
2007-03-03  1:37 Jeff Garzik
2007-02-02 13:45 Jeff Garzik
2007-01-30 14:46 Jeff Garzik
2007-01-23  7:12 Jeff Garzik
2007-01-22 18:55 Jeff Garzik
2007-01-22 19:03 ` Auke Kok
2007-01-22 19:20   ` Jeff Garzik
2007-01-22 19:40     ` Auke Kok
2007-01-23 21:30       ` Jeff Garzik
2007-01-08  9:47 Jeff Garzik
2006-12-26 22:46 Jeff Garzik
2007-01-02  2:23 ` Herbert Xu
2006-12-02  4:38 Jeff Garzik
2006-11-10 16:14 Jeff Garzik
2006-11-07 10:41 Jeff Garzik
2006-11-06  8:16 Jeff Garzik
2006-11-01  2:12 Jeff Garzik
2006-10-21 18:38 Jeff Garzik
2006-10-11  9:04 Jeff Garzik
2006-09-22 22:07 Jeff Garzik
2006-09-17  5:07 Jeff Garzik
2006-09-13 16:27 Jeff Garzik
     [not found] <20060824045456.GA5883@havoc.gtf.org>
2006-08-24  5:00 ` Greg KH
2006-08-09  6:25 Jeff Garzik
2006-08-09 18:48 ` Greg KH
2006-08-03 21:55 Jeff Garzik
2006-07-29  5:36 Jeff Garzik
2006-07-17 17:36 Jeff Garzik
2006-07-12 23:18 Jeff Garzik
2006-06-08 21:39 Jeff Garzik
2006-05-24  7:04 Jeff Garzik
2006-05-02 19:30 Jeff Garzik
2006-04-26 10:26 Jeff Garzik
2006-04-20 21:46 Jeff Garzik
2006-04-12 22:14 Jeff Garzik
2006-04-12 22:43 ` Kumar Gala
2006-04-12 22:45   ` Jeff Garzik
2006-04-12 22:47     ` Kumar Gala
2006-04-12 23:04       ` Jeff Garzik
2006-03-17  0:30 Jeff Garzik
2006-03-17  0:42 ` Linus Torvalds
2006-03-11 18:40 Jeff Garzik
2006-03-06 19:39 Jeff Garzik
2006-02-28 23:10 Jeff Garzik
2006-02-24  5:22 Jeff Garzik
2006-02-24  7:59 ` Wolfgang Hoffmann
2006-02-24 16:14   ` Stephen Hemminger
2006-02-24 17:28     ` Wolfgang Hoffmann
2006-02-17 21:24 Jeff Garzik
2006-02-07  8:03 Jeff Garzik
2006-01-28 21:44 Jeff Garzik
2005-12-24 15:14 Jeff Garzik
2005-09-23 23:09 Jeff Garzik
2005-09-22  4:11 Jeff Garzik
2005-09-16  7:38 Jeff Garzik
2005-09-16 21:16 ` Al Boldi
2005-09-14 13:14 Jeff Garzik
2005-09-14 15:38 ` Frank Pavlic
2005-09-14 15:40   ` Jeff Garzik
2005-07-31 23:30 Jeff Garzik
2005-07-31 23:50 ` Linus Torvalds
2005-08-01  4:30   ` Miles Bader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071126161254.GA15497@havoc.gtf.org \
    --to=jeff@garzik.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).