Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 98546
b: refs/heads/master
c: 59d393a
h: refs/heads/master
v: v3
  • Loading branch information
Tony Vroon authored and John W. Linville committed Jun 25, 2008
1 parent 0332373 commit 7793cc3
Show file tree
Hide file tree
Showing 19 changed files with 72 additions and 61 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3e3cda96d014b69f7723d1d4507897e5be6aceb7
refs/heads/master: 59d393ad92f719d9ef36b96eae56d4817a7eeb10
6 changes: 3 additions & 3 deletions trunk/Documentation/networking/s2io.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ Valid range: Limited by memory on system
Default: 30

e. intr_type
Specifies interrupt type. Possible values 0(INTA), 2(MSI-X)
Valid values: 0, 2
Default: 2
Specifies interrupt type. Possible values 1(INTA), 2(MSI), 3(MSI-X)
Valid range: 1-3
Default: 1

5. Performance suggestions
General:
Expand Down
5 changes: 2 additions & 3 deletions trunk/drivers/net/3c59x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1768,10 +1768,9 @@ vortex_timer(unsigned long data)
case XCVR_MII: case XCVR_NWAY:
{
ok = 1;
/* Interrupts are already disabled */
spin_lock(&vp->lock);
spin_lock_bh(&vp->lock);
vortex_check_media(dev, 0);
spin_unlock(&vp->lock);
spin_unlock_bh(&vp->lock);
}
break;
default: /* Other media types handled by Tx timeouts. */
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -1803,8 +1803,6 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
if (rx->prev->skb) {
struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data;
put_unaligned_le32(rx->dma_addr, &prev_rfd->link);
pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr,
sizeof(struct rfd), PCI_DMA_TODEVICE);
}

return 0;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/e1000/e1000_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ e1000_set_tso(struct net_device *netdev, u32 data)
else
netdev->features &= ~NETIF_F_TSO;

if (data && (adapter->hw.mac_type > e1000_82547_rev_2))
if (data)
netdev->features |= NETIF_F_TSO6;
else
netdev->features &= ~NETIF_F_TSO6;
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -2535,8 +2535,7 @@ void e1000e_down(struct e1000_adapter *adapter)
adapter->link_speed = 0;
adapter->link_duplex = 0;

if (!pci_channel_offline(adapter->pdev))
e1000e_reset(adapter);
e1000e_reset(adapter);
e1000_clean_tx_ring(adapter);
e1000_clean_rx_ring(adapter);

Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -718,8 +718,7 @@ void igb_down(struct igb_adapter *adapter)
adapter->link_speed = 0;
adapter->link_duplex = 0;

if (!pci_channel_offline(adapter->pdev))
igb_reset(adapter);
igb_reset(adapter);
igb_clean_all_tx_rings(adapter);
igb_clean_all_rx_rings(adapter);
}
Expand Down
16 changes: 8 additions & 8 deletions trunk/drivers/net/ipg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1271,16 +1271,16 @@ static void ipg_nic_rx_with_end(struct net_device *dev,

framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;

endframelen = framelen - jumbo->current_size;
endframeLen = framelen - jumbo->current_size;
/*
if (framelen > IPG_RXFRAG_SIZE)
framelen=IPG_RXFRAG_SIZE;
*/
if (framelen > IPG_RXSUPPORT_SIZE)
dev_kfree_skb_irq(jumbo->skb);
else {
memcpy(skb_put(jumbo->skb, endframelen),
skb->data, endframelen);
memcpy(skb_put(jumbo->skb, endframeLen),
skb->data, endframeLen);

jumbo->skb->protocol =
eth_type_trans(jumbo->skb, dev);
Expand Down Expand Up @@ -1352,16 +1352,16 @@ static int ipg_nic_rx(struct net_device *dev)

switch (ipg_nic_rx_check_frame_type(dev)) {
case FRAME_WITH_START_WITH_END:
ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry);
ipg_nic_rx_with_start_and_end(dev, tp, rxfd, entry);
break;
case FRAME_WITH_START:
ipg_nic_rx_with_start(dev, sp, rxfd, entry);
ipg_nic_rx_with_start(dev, tp, rxfd, entry);
break;
case FRAME_WITH_END:
ipg_nic_rx_with_end(dev, sp, rxfd, entry);
ipg_nic_rx_with_end(dev, tp, rxfd, entry);
break;
case FRAME_NO_START_NO_END:
ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry);
ipg_nic_rx_no_start_no_end(dev, tp, rxfd, entry);
break;
}
}
Expand Down Expand Up @@ -1808,7 +1808,7 @@ static int ipg_nic_open(struct net_device *dev)
/* initialize JUMBO Frame control variable */
sp->jumbo.found_start = 0;
sp->jumbo.current_size = 0;
sp->jumbo.skb = NULL;
sp->jumbo.skb = 0;
dev->mtu = IPG_TXFRAG_SIZE;
#endif

Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/ixgbe/ixgbe_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1969,8 +1969,7 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
netif_carrier_off(netdev);
netif_stop_queue(netdev);

if (!pci_channel_offline(adapter->pdev))
ixgbe_reset(adapter);
ixgbe_reset(adapter);
ixgbe_clean_all_tx_rings(adapter);
ixgbe_clean_all_rx_rings(adapter);

Expand Down
18 changes: 7 additions & 11 deletions trunk/drivers/net/netxen/netxen_nic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,14 @@ static irqreturn_t netxen_intr(int irq, void *data);
static irqreturn_t netxen_msi_intr(int irq, void *data);

/* PCI Device ID Table */
#define ENTRY(device) \
{PCI_DEVICE(0x4040, (device)), \
.class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = ~0}

static struct pci_device_id netxen_pci_tbl[] __devinitdata = {
ENTRY(0x0001),
ENTRY(0x0002),
ENTRY(0x0003),
ENTRY(0x0004),
ENTRY(0x0005),
ENTRY(0x0024),
ENTRY(0x0025),
{PCI_DEVICE(0x4040, 0x0001), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0002), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0003), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0004), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0005), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0024), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0025), PCI_DEVICE_CLASS(0x020000, ~0)},
{0,}
};

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/pcmcia/axnet_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,14 +525,12 @@ static int axnet_open(struct net_device *dev)
int ret;
axnet_dev_t *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
unsigned int nic_base = dev->base_addr;

DEBUG(2, "axnet_open('%s')\n", dev->name);

if (!pcmcia_dev_present(link))
return -ENODEV;

outb_p(0xFF, nic_base + EN0_ISR); /* Clear bogus intr. */
ret = request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, "axnet_cs", dev);
if (ret)
return ret;
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/net/pcmcia/pcnet_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -969,16 +969,13 @@ static int pcnet_open(struct net_device *dev)
int ret;
pcnet_dev_t *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
unsigned int nic_base = dev->base_addr;

DEBUG(2, "pcnet_open('%s')\n", dev->name);

if (!pcmcia_dev_present(link))
return -ENODEV;

set_misc_reg(dev);

outb_p(0xFF, nic_base + EN0_ISR); /* Clear bogus intr. */
ret = request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, dev_info, dev);
if (ret)
return ret;
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/qla3xxx.c
Original file line number Diff line number Diff line change
Expand Up @@ -3701,9 +3701,7 @@ static int ql_cycle_adapter(struct ql3_adapter *qdev, int reset)
printk(KERN_ERR PFX
"%s: Driver up/down cycle failed, "
"closing device\n",qdev->ndev->name);
rtnl_lock();
dev_close(qdev->ndev);
rtnl_unlock();
return -1;
}
return 0;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/r6040.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ static void r6040_init_ring_desc(struct r6040_descriptor *desc_ring,
dma_addr_t mapping = desc_dma;

while (size-- > 0) {
mapping += sizeof(*desc);
mapping += sizeof(sizeof(*desc));
desc->ndesc = cpu_to_le32(mapping);
desc->vndescp = desc + 1;
desc++;
Expand Down
35 changes: 23 additions & 12 deletions trunk/drivers/net/s2io.c
Original file line number Diff line number Diff line change
Expand Up @@ -2625,7 +2625,9 @@ static int fill_rx_buffers(struct ring_info *ring)
rxdp1->Buffer0_ptr = pci_map_single
(ring->pdev, skb->data, size - NET_IP_ALIGN,
PCI_DMA_FROMDEVICE);
if(pci_dma_mapping_error(rxdp1->Buffer0_ptr))
if( (rxdp1->Buffer0_ptr == 0) ||
(rxdp1->Buffer0_ptr ==
DMA_ERROR_CODE))
goto pci_map_failed;

rxdp->Control_2 =
Expand Down Expand Up @@ -2655,7 +2657,6 @@ static int fill_rx_buffers(struct ring_info *ring)
skb->data = (void *) (unsigned long)tmp;
skb_reset_tail_pointer(skb);

/* AK: check is wrong. 0 can be valid dma address */
if (!(rxdp3->Buffer0_ptr))
rxdp3->Buffer0_ptr =
pci_map_single(ring->pdev, ba->ba_0,
Expand All @@ -2664,7 +2665,8 @@ static int fill_rx_buffers(struct ring_info *ring)
pci_dma_sync_single_for_device(ring->pdev,
(dma_addr_t) rxdp3->Buffer0_ptr,
BUF0_LEN, PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(rxdp3->Buffer0_ptr))
if( (rxdp3->Buffer0_ptr == 0) ||
(rxdp3->Buffer0_ptr == DMA_ERROR_CODE))
goto pci_map_failed;

rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN);
Expand All @@ -2679,17 +2681,18 @@ static int fill_rx_buffers(struct ring_info *ring)
(ring->pdev, skb->data, ring->mtu + 4,
PCI_DMA_FROMDEVICE);

if (pci_dma_mapping_error(rxdp3->Buffer2_ptr))
if( (rxdp3->Buffer2_ptr == 0) ||
(rxdp3->Buffer2_ptr == DMA_ERROR_CODE))
goto pci_map_failed;

/* AK: check is wrong */
if (!rxdp3->Buffer1_ptr)
rxdp3->Buffer1_ptr =
pci_map_single(ring->pdev,
ba->ba_1, BUF1_LEN,
PCI_DMA_FROMDEVICE);

if (pci_dma_mapping_error(rxdp3->Buffer1_ptr)) {
if( (rxdp3->Buffer1_ptr == 0) ||
(rxdp3->Buffer1_ptr == DMA_ERROR_CODE)) {
pci_unmap_single
(ring->pdev,
(dma_addr_t)(unsigned long)
Expand Down Expand Up @@ -4261,14 +4264,16 @@ static int s2io_xmit(struct sk_buff *skb, struct net_device *dev)
txdp->Buffer_Pointer = pci_map_single(sp->pdev,
fifo->ufo_in_band_v,
sizeof(u64), PCI_DMA_TODEVICE);
if (pci_dma_mapping_error(txdp->Buffer_Pointer))
if((txdp->Buffer_Pointer == 0) ||
(txdp->Buffer_Pointer == DMA_ERROR_CODE))
goto pci_map_failed;
txdp++;
}

txdp->Buffer_Pointer = pci_map_single
(sp->pdev, skb->data, frg_len, PCI_DMA_TODEVICE);
if (pci_dma_mapping_error(txdp->Buffer_Pointer))
if((txdp->Buffer_Pointer == 0) ||
(txdp->Buffer_Pointer == DMA_ERROR_CODE))
goto pci_map_failed;

txdp->Host_Control = (unsigned long) skb;
Expand Down Expand Up @@ -6879,8 +6884,10 @@ static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp,
pci_map_single( sp->pdev, (*skb)->data,
size - NET_IP_ALIGN,
PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(rxdp1->Buffer0_ptr))
if( (rxdp1->Buffer0_ptr == 0) ||
(rxdp1->Buffer0_ptr == DMA_ERROR_CODE)) {
goto memalloc_failed;
}
rxdp->Host_Control = (unsigned long) (*skb);
}
} else if ((sp->rxd_mode == RXD_MODE_3B) && (rxdp->Host_Control == 0)) {
Expand All @@ -6906,12 +6913,15 @@ static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp,
pci_map_single(sp->pdev, (*skb)->data,
dev->mtu + 4,
PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(rxdp3->Buffer2_ptr))
if( (rxdp3->Buffer2_ptr == 0) ||
(rxdp3->Buffer2_ptr == DMA_ERROR_CODE)) {
goto memalloc_failed;
}
rxdp3->Buffer0_ptr = *temp0 =
pci_map_single( sp->pdev, ba->ba_0, BUF0_LEN,
PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(rxdp3->Buffer0_ptr)) {
if( (rxdp3->Buffer0_ptr == 0) ||
(rxdp3->Buffer0_ptr == DMA_ERROR_CODE)) {
pci_unmap_single (sp->pdev,
(dma_addr_t)rxdp3->Buffer2_ptr,
dev->mtu + 4, PCI_DMA_FROMDEVICE);
Expand All @@ -6923,7 +6933,8 @@ static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp,
rxdp3->Buffer1_ptr = *temp1 =
pci_map_single(sp->pdev, ba->ba_1, BUF1_LEN,
PCI_DMA_FROMDEVICE);
if (pci_dma_mapping_error(rxdp3->Buffer1_ptr)) {
if( (rxdp3->Buffer1_ptr == 0) ||
(rxdp3->Buffer1_ptr == DMA_ERROR_CODE)) {
pci_unmap_single (sp->pdev,
(dma_addr_t)rxdp3->Buffer0_ptr,
BUF0_LEN, PCI_DMA_FROMDEVICE);
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/net/s2io.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ static int debug_level = ERR_DBG;
/* DEBUG message print. */
#define DBG_PRINT(dbg_level, args...) if(!(debug_level<dbg_level)) printk(args)

#ifndef DMA_ERROR_CODE
#define DMA_ERROR_CODE (~(dma_addr_t)0x0)
#endif

/* Protocol assist features of the NIC */
#define L3_CKSUM_OK 0xFFFF
#define L4_CKSUM_OK 0xFFFF
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/tc35815.c
Original file line number Diff line number Diff line change
Expand Up @@ -1394,7 +1394,6 @@ tc35815_open(struct net_device *dev)
tc35815_chip_init(dev);
spin_unlock_irq(&lp->lock);

netif_carrier_off(dev);
/* schedule a link state check */
phy_start(lp->phy_dev);

Expand Down Expand Up @@ -1736,6 +1735,7 @@ tc35815_rx(struct net_device *dev)
skb = lp->rx_skbs[cur_bd].skb;
prefetch(skb->data);
lp->rx_skbs[cur_bd].skb = NULL;
lp->fbl_count--;
pci_unmap_single(lp->pci_dev,
lp->rx_skbs[cur_bd].skb_dma,
RX_BUF_SIZE, PCI_DMA_FROMDEVICE);
Expand Down Expand Up @@ -1791,7 +1791,6 @@ tc35815_rx(struct net_device *dev)
#ifdef TC35815_USE_PACKEDBUFFER
while (lp->fbl_curid != id)
#else
lp->fbl_count--;
while (lp->fbl_count < RX_BUF_NUM)
#endif
{
Expand Down Expand Up @@ -2454,7 +2453,6 @@ static int tc35815_resume(struct pci_dev *pdev)
return 0;
pci_set_power_state(pdev, PCI_D0);
tc35815_restart(dev);
netif_carrier_off(dev);
if (lp->phy_dev)
phy_start(lp->phy_dev);
netif_device_attach(dev);
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/net/wan/x25_asy.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
#include <linux/x25.h>
#include <linux/lapb.h>
#include <linux/init.h>
#include <linux/rtnetlink.h>
#include "x25_asy.h"

#include <net/x25device.h>
Expand Down Expand Up @@ -602,10 +601,8 @@ static void x25_asy_close_tty(struct tty_struct *tty)
if (!sl || sl->magic != X25_ASY_MAGIC)
return;

rtnl_lock();
if (sl->dev->flags & IFF_UP)
dev_close(sl->dev);
rtnl_unlock();

tty->disc_data = NULL;
sl->tty = NULL;
Expand Down
Loading

0 comments on commit 7793cc3

Please sign in to comment.