Commit 9de4ce14 authored by Jeff Garzik's avatar Jeff Garzik

Merge

parents e7f10a52 847636cc
......@@ -1730,7 +1730,7 @@ config VIA_RHINE
(e.g. VT8235).
To compile this driver as a module, choose M here. The module
will be called via-rhine.
will be called via-velocity.
config VIA_RHINE_MMIO
bool "Use MMIO instead of PIO"
......
......@@ -641,6 +641,8 @@ e1000_remove(struct pci_dev *pdev)
pci_release_regions(pdev);
free_netdev(netdev);
pci_disable_device(pdev);
}
/**
......
......@@ -549,6 +549,8 @@ static int hdlcdrv_close(struct net_device *dev)
netif_stop_queue(dev);
netif_stop_queue(dev);
if (s->ops && s->ops->close)
i = s->ops->close(dev);
if (s->skb)
......
......@@ -42,10 +42,6 @@
#include "8390.h"
#if (LINUX_VERSION_CODE < 0x02030e)
#define net_device device
#endif
#define WD_START_PG 0x00 /* First page of TX buffer */
#define CABLETRON_RX_START_PG 0x00 /* First page of RX buffer */
#define CABLETRON_RX_STOP_PG 0x30 /* Last page +1 of RX ring */
......
......@@ -653,12 +653,43 @@ static void __devexit ne2k_pci_remove_one (struct pci_dev *pdev)
pci_set_drvdata(pdev, NULL);
}
#ifdef CONFIG_PM
static int ne2k_pci_suspend (struct pci_dev *pdev, u32 state)
{
struct net_device *dev = pci_get_drvdata (pdev);
netif_device_detach(dev);
pci_save_state(pdev, pdev->saved_config_space);
pci_set_power_state(pdev, state);
return 0;
}
static int ne2k_pci_resume (struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata (pdev);
pci_set_power_state(pdev, 0);
pci_restore_state(pdev, pdev->saved_config_space);
NS8390_init(dev, 1);
netif_device_attach(dev);
return 0;
}
#endif /* CONFIG_PM */
static struct pci_driver ne2k_driver = {
.name = DRV_NAME,
.probe = ne2k_pci_init_one,
.remove = __devexit_p(ne2k_pci_remove_one),
.id_table = ne2k_pci_tbl,
#ifdef CONFIG_PM
.suspend = ne2k_pci_suspend,
.resume = ne2k_pci_resume,
#endif /* CONFIG_PM */
};
......
......@@ -160,6 +160,49 @@ SMC_outw(u16 val, unsigned long ioaddr, int reg)
#define SMC_insw(a, r, p, l) insw((a) + (r), p, l)
#define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
#elif defined(CONFIG_MACH_LPD7A400) || defined(CONFIG_MACH_LPD7A404)
#include <asm/arch/constants.h> /* IOBARRIER_VIRT */
#define SMC_CAN_USE_8BIT 0
#define SMC_CAN_USE_16BIT 1
#define SMC_CAN_USE_32BIT 0
#define SMC_NOWAIT 0
#define SMC_IOBARRIER ({ barrier (); readl (IOBARRIER_VIRT); })
static inline unsigned short SMC_inw (unsigned long a, int r)
{
unsigned short v;
v = readw (a + r);
SMC_IOBARRIER;
return v;
}
static inline void SMC_outw (unsigned short v, unsigned long a, int r)
{
writew (v, a + r);
SMC_IOBARRIER;
}
static inline void SMC_insw (unsigned long a, int r, unsigned char* p, int l)
{
while (l-- > 0) {
*((unsigned short*)p)++ = readw (a + r);
SMC_IOBARRIER;
}
}
static inline void SMC_outsw (unsigned long a, int r, unsigned char* p, int l)
{
while (l-- > 0) {
writew (*((unsigned short*)p)++, a + r);
SMC_IOBARRIER;
}
}
#define RPC_LSA_DEFAULT RPC_LED_TX_RX
#define RPC_LSB_DEFAULT RPC_LED_100_10
#elif defined(CONFIG_M32R)
#define SMC_CAN_USE_8BIT 0
......
......@@ -5089,7 +5089,7 @@ mii_get_phy(struct net_device *dev)
lp->useMII = TRUE;
/* Search the MII address space for possible PHY devices */
for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(++i)%DE4X5_MAX_MII) {
for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(i+1)%DE4X5_MAX_MII) {
lp->phy[lp->active].addr = i;
if (i==0) n++; /* Count cycles */
while (de4x5_reset_phy(dev)<0) udelay(100);/* Wait for reset */
......
......@@ -234,7 +234,7 @@ static void irlan_client_ctrl_disconnect_indication(void *instance, void *sap,
ASSERT(tsap == self->client.tsap_ctrl, return;);
/* Remove frames queued on the control channel */
while ((skb = skb_dequeue(&self->client.txq))) {
while ((skb = skb_dequeue(&self->client.txq)) != NULL) {
dev_kfree_skb(skb);
}
self->client.tx_busy = FALSE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment