You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/s2io.c
This commit is contained in:
@@ -84,9 +84,6 @@ policy-routing.txt
|
||||
- IP policy-based routing
|
||||
ray_cs.txt
|
||||
- Raylink Wireless LAN card driver info.
|
||||
sk98lin.txt
|
||||
- Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
|
||||
Ethernet Adapter family driver info
|
||||
skfp.txt
|
||||
- SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
|
||||
smc9.txt
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -978,6 +978,7 @@ static int fs_open(struct atm_vcc *atm_vcc)
|
||||
/* Docs are vague about this atm_hdr field. By the way, the FS
|
||||
* chip makes odd errors if lower bits are set.... -- REW */
|
||||
tc->atm_hdr = (vpi << 20) | (vci << 4);
|
||||
tmc0 = 0;
|
||||
{
|
||||
int pcr = atm_pcr_goal (txtp);
|
||||
|
||||
|
||||
+1
-2
@@ -3000,8 +3000,7 @@ he_proc_read(struct atm_dev *dev, loff_t *pos, char *page)
|
||||
|
||||
/* eeprom routines -- see 4.7 */
|
||||
|
||||
u8
|
||||
read_prom_byte(struct he_dev *he_dev, int addr)
|
||||
static u8 read_prom_byte(struct he_dev *he_dev, int addr)
|
||||
{
|
||||
u32 val = 0, tmp_read = 0;
|
||||
int i, j = 0;
|
||||
|
||||
@@ -2016,8 +2016,7 @@ idt77252_send_skb(struct atm_vcc *vcc, struct sk_buff *skb, int oam)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||
static int idt77252_send(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||
{
|
||||
return idt77252_send_skb(vcc, skb, 0);
|
||||
}
|
||||
@@ -3072,8 +3071,7 @@ idt77252_dev_open(struct idt77252_dev *card)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
idt77252_dev_close(struct atm_dev *dev)
|
||||
static void idt77252_dev_close(struct atm_dev *dev)
|
||||
{
|
||||
struct idt77252_dev *card = dev->dev_data;
|
||||
u32 conf;
|
||||
|
||||
@@ -958,6 +958,7 @@ static void ia_suni_pm7345_init (IADEV *iadev)
|
||||
|
||||
/***************************** IA_LIB END *****************************/
|
||||
|
||||
#ifdef CONFIG_ATM_IA_DEBUG
|
||||
static int tcnter = 0;
|
||||
static void xdump( u_char* cp, int length, char* prefix )
|
||||
{
|
||||
@@ -992,6 +993,7 @@ static void xdump( u_char* cp, int length, char* prefix )
|
||||
}
|
||||
|
||||
} /* close xdump(... */
|
||||
#endif /* CONFIG_ATM_IA_DEBUG */
|
||||
|
||||
|
||||
static struct atm_dev *ia_boards = NULL;
|
||||
|
||||
+1
-1
@@ -2555,7 +2555,7 @@ config NIU
|
||||
|
||||
config PASEMI_MAC
|
||||
tristate "PA Semi 1/10Gbit MAC"
|
||||
depends on PPC64 && PCI
|
||||
depends on PPC_PASEMI && PCI
|
||||
select PHYLIB
|
||||
select INET_LRO
|
||||
help
|
||||
|
||||
@@ -575,7 +575,6 @@ adjust_head:
|
||||
static int bf537mac_hard_start_xmit(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
{
|
||||
struct bf537mac_local *lp = netdev_priv(dev);
|
||||
unsigned int data;
|
||||
|
||||
current_tx_ptr->skb = skb;
|
||||
@@ -634,7 +633,6 @@ out:
|
||||
static void bf537mac_rx(struct net_device *dev)
|
||||
{
|
||||
struct sk_buff *skb, *new_skb;
|
||||
struct bf537mac_local *lp = netdev_priv(dev);
|
||||
unsigned short len;
|
||||
|
||||
/* allocate a new skb for next time receive */
|
||||
|
||||
@@ -341,6 +341,7 @@ static ssize_t bonding_store_slaves(struct device *d,
|
||||
|
||||
if (command[0] == '-') {
|
||||
dev = NULL;
|
||||
original_mtu = 0;
|
||||
bond_for_each_slave(bond, slave, i)
|
||||
if (strnicmp(slave->dev->name, ifname, IFNAMSIZ) == 0) {
|
||||
dev = slave->dev;
|
||||
|
||||
+10
-8
@@ -1854,6 +1854,7 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
struct ring_desc* start_tx;
|
||||
struct ring_desc* prev_tx;
|
||||
struct nv_skb_map* prev_tx_ctx;
|
||||
unsigned long flags;
|
||||
|
||||
/* add fragments to entries count */
|
||||
for (i = 0; i < fragments; i++) {
|
||||
@@ -1863,10 +1864,10 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
empty_slots = nv_get_empty_tx_slots(np);
|
||||
if (unlikely(empty_slots <= entries)) {
|
||||
spin_lock_irq(&np->lock);
|
||||
spin_lock_irqsave(&np->lock, flags);
|
||||
netif_stop_queue(dev);
|
||||
np->tx_stop = 1;
|
||||
spin_unlock_irq(&np->lock);
|
||||
spin_unlock_irqrestore(&np->lock, flags);
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
@@ -1929,13 +1930,13 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
tx_flags_extra = skb->ip_summed == CHECKSUM_PARTIAL ?
|
||||
NV_TX2_CHECKSUM_L3 | NV_TX2_CHECKSUM_L4 : 0;
|
||||
|
||||
spin_lock_irq(&np->lock);
|
||||
spin_lock_irqsave(&np->lock, flags);
|
||||
|
||||
/* set tx flags */
|
||||
start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
|
||||
np->put_tx.orig = put_tx;
|
||||
|
||||
spin_unlock_irq(&np->lock);
|
||||
spin_unlock_irqrestore(&np->lock, flags);
|
||||
|
||||
dprintk(KERN_DEBUG "%s: nv_start_xmit: entries %d queued for transmission. tx_flags_extra: %x\n",
|
||||
dev->name, entries, tx_flags_extra);
|
||||
@@ -1971,6 +1972,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
|
||||
struct ring_desc_ex* prev_tx;
|
||||
struct nv_skb_map* prev_tx_ctx;
|
||||
struct nv_skb_map* start_tx_ctx;
|
||||
unsigned long flags;
|
||||
|
||||
/* add fragments to entries count */
|
||||
for (i = 0; i < fragments; i++) {
|
||||
@@ -1980,10 +1982,10 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
empty_slots = nv_get_empty_tx_slots(np);
|
||||
if (unlikely(empty_slots <= entries)) {
|
||||
spin_lock_irq(&np->lock);
|
||||
spin_lock_irqsave(&np->lock, flags);
|
||||
netif_stop_queue(dev);
|
||||
np->tx_stop = 1;
|
||||
spin_unlock_irq(&np->lock);
|
||||
spin_unlock_irqrestore(&np->lock, flags);
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
@@ -2059,7 +2061,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
|
||||
start_tx->txvlan = 0;
|
||||
}
|
||||
|
||||
spin_lock_irq(&np->lock);
|
||||
spin_lock_irqsave(&np->lock, flags);
|
||||
|
||||
if (np->tx_limit) {
|
||||
/* Limit the number of outstanding tx. Setup all fragments, but
|
||||
@@ -2085,7 +2087,7 @@ static int nv_start_xmit_optimized(struct sk_buff *skb, struct net_device *dev)
|
||||
start_tx->flaglen |= cpu_to_le32(tx_flags | tx_flags_extra);
|
||||
np->put_tx.ex = put_tx;
|
||||
|
||||
spin_unlock_irq(&np->lock);
|
||||
spin_unlock_irqrestore(&np->lock, flags);
|
||||
|
||||
dprintk(KERN_DEBUG "%s: nv_start_xmit_optimized: entries %d queued for transmission. tx_flags_extra: %x\n",
|
||||
dev->name, entries, tx_flags_extra);
|
||||
|
||||
@@ -1242,8 +1242,8 @@ static int emac_close(struct net_device *ndev)
|
||||
static inline u16 emac_tx_csum(struct emac_instance *dev,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
if (emac_has_feature(dev, EMAC_FTR_HAS_TAH &&
|
||||
skb->ip_summed == CHECKSUM_PARTIAL)) {
|
||||
if (emac_has_feature(dev, EMAC_FTR_HAS_TAH) &&
|
||||
(skb->ip_summed == CHECKSUM_PARTIAL)) {
|
||||
++dev->stats.tx_packets_csum;
|
||||
return EMAC_TX_CTRL_TAH_CSUM;
|
||||
}
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@
|
||||
#include "s2io.h"
|
||||
#include "s2io-regs.h"
|
||||
|
||||
#define DRV_VERSION "2.0.26.19"
|
||||
#define DRV_VERSION "2.0.26.20"
|
||||
|
||||
/* S2io Driver name & version. */
|
||||
static char s2io_driver_name[] = "Neterion";
|
||||
|
||||
@@ -343,6 +343,12 @@ int __devinit tulip_read_eeprom(struct net_device *dev, int location, int addr_l
|
||||
void __iomem *ee_addr = tp->base_addr + CSR9;
|
||||
int read_cmd = location | (EE_READ_CMD << addr_len);
|
||||
|
||||
/* If location is past the end of what we can address, don't
|
||||
* read some other location (ie truncate). Just return zero.
|
||||
*/
|
||||
if (location > (1 << addr_len) - 1)
|
||||
return 0;
|
||||
|
||||
iowrite32(EE_ENB & ~EE_CS, ee_addr);
|
||||
iowrite32(EE_ENB, ee_addr);
|
||||
|
||||
|
||||
@@ -1437,6 +1437,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
|
||||
EEPROM.
|
||||
*/
|
||||
ee_data = tp->eeprom;
|
||||
memset(ee_data, 0, sizeof(tp->eeprom));
|
||||
sum = 0;
|
||||
if (chip_idx == LC82C168) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
@@ -1458,8 +1459,12 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
|
||||
/* A serial EEPROM interface, we read now and sort it out later. */
|
||||
int sa_offset = 0;
|
||||
int ee_addr_size = tulip_read_eeprom(dev, 0xff, 8) & 0x40000 ? 8 : 6;
|
||||
int ee_max_addr = ((1 << ee_addr_size) - 1) * sizeof(u16);
|
||||
|
||||
for (i = 0; i < sizeof(tp->eeprom); i+=2) {
|
||||
if (ee_max_addr > sizeof(tp->eeprom))
|
||||
ee_max_addr = sizeof(tp->eeprom);
|
||||
|
||||
for (i = 0; i < ee_max_addr ; i += sizeof(u16)) {
|
||||
u16 data = tulip_read_eeprom(dev, i/2, ee_addr_size);
|
||||
ee_data[i] = data & 0xff;
|
||||
ee_data[i + 1] = data >> 8;
|
||||
|
||||
@@ -129,7 +129,7 @@ config USB_USBNET
|
||||
|
||||
config USB_NET_AX8817X
|
||||
tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
|
||||
depends on USB_USBNET && NET_ETHERNET
|
||||
depends on USB_USBNET
|
||||
select CRC32
|
||||
default y
|
||||
help
|
||||
|
||||
@@ -354,7 +354,7 @@ static void dm9601_set_multicast(struct net_device *net)
|
||||
struct dev_mc_list *mc_list = net->mc_list;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < net->mc_count; i++) {
|
||||
for (i = 0; i < net->mc_count; i++, mc_list = mc_list->next) {
|
||||
u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26;
|
||||
hashes[crc >> 3] |= 1 << (crc & 0x7);
|
||||
}
|
||||
|
||||
@@ -1128,12 +1128,8 @@ pegasus_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
|
||||
{
|
||||
pegasus_t *pegasus;
|
||||
|
||||
if (in_atomic())
|
||||
return 0;
|
||||
|
||||
pegasus = netdev_priv(dev);
|
||||
mii_ethtool_gset(&pegasus->mii, ecmd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ struct lapbethdev {
|
||||
struct net_device_stats stats; /* some statistics */
|
||||
};
|
||||
|
||||
static struct list_head lapbeth_devices = LIST_HEAD_INIT(lapbeth_devices);
|
||||
static LIST_HEAD(lapbeth_devices);
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
|
||||
@@ -574,6 +574,7 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring,
|
||||
}
|
||||
|
||||
if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
|
||||
b43err(ring->dev->wl, "RX DMA buffer allocation failed\n");
|
||||
dev_kfree_skb_any(skb);
|
||||
return -EIO;
|
||||
}
|
||||
@@ -829,8 +830,12 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
|
||||
DMA_TO_DEVICE);
|
||||
|
||||
if (b43_dma_mapping_error(ring, dma_test,
|
||||
b43_txhdr_size(dev), 1))
|
||||
b43_txhdr_size(dev), 1)) {
|
||||
|
||||
b43err(dev->wl,
|
||||
"TXHDR DMA allocation failed\n");
|
||||
goto err_kfree_txhdr_cache;
|
||||
}
|
||||
}
|
||||
|
||||
dma_unmap_single(dev->dev->dev,
|
||||
|
||||
@@ -91,6 +91,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
|
||||
|
||||
dev->conf.ConfigBase = parse.config.base;
|
||||
dev->conf.Present = parse.config.rmask[0];
|
||||
dev->conf.Attributes = CONF_ENABLE_IRQ;
|
||||
dev->conf.IntType = INT_MEMORY_AND_IO;
|
||||
|
||||
dev->io.BasePort2 = 0;
|
||||
dev->io.NumPorts2 = 0;
|
||||
@@ -112,8 +114,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
|
||||
if (res != CS_SUCCESS)
|
||||
goto err_disable;
|
||||
|
||||
dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FIRST_SHARED;
|
||||
dev->irq.IRQInfo1 = IRQ_LEVEL_ID | IRQ_SHARE_ID;
|
||||
dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
||||
dev->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||
dev->irq.Handler = NULL; /* The handler is registered later. */
|
||||
dev->irq.Instance = NULL;
|
||||
res = pcmcia_request_irq(dev, &dev->irq);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user