Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 425
b: refs/heads/master
c: cf02510
h: refs/heads/master
i:
  423: c9d787e
v: v3
  • Loading branch information
Linus Torvalds committed Apr 25, 2005
1 parent 2aae004 commit e460de6
Show file tree
Hide file tree
Showing 39 changed files with 527 additions and 123 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: 9a59c1860d01b3dea9ab01d5cefb9d5c52042e6d
refs/heads/master: cf025109e879294f4c6aecf94de1e7b592a9fb07
2 changes: 2 additions & 0 deletions trunk/Documentation/networking/netdevices.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ dev->hard_start_xmit:
set_multicast_list
Context: BHs disabled
Notes: netif_queue_stopped() is guaranteed false
Interrupts must be enabled when calling hard_start_xmit.
(Interrupts must also be enabled when enabling the BH handler.)
Return codes:
o NETDEV_TX_OK everything ok.
o NETDEV_TX_BUSY Cannot transmit packet, try later
Expand Down
27 changes: 18 additions & 9 deletions trunk/drivers/atm/eni.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
* - doesn't support OAM cells
* - eni_put_free may hang if not putting memory fragments that _complete_
* 2^n block (never happens in real life, though)
* - keeps IRQ even if initialization fails
*/


Expand Down Expand Up @@ -1802,22 +1801,22 @@ static int __devinit eni_start(struct atm_dev *dev)
if (request_irq(eni_dev->irq,&eni_int,SA_SHIRQ,DEV_LABEL,dev)) {
printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
dev->number,eni_dev->irq);
return -EAGAIN;
error = -EAGAIN;
goto out;
}
/* @@@ should release IRQ on error */
pci_set_master(eni_dev->pci_dev);
if ((error = pci_write_config_word(eni_dev->pci_dev,PCI_COMMAND,
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER |
(eni_dev->asic ? PCI_COMMAND_PARITY | PCI_COMMAND_SERR : 0)))) {
printk(KERN_ERR DEV_LABEL "(itf %d): can't enable memory+"
"master (0x%02x)\n",dev->number,error);
return error;
goto free_irq;
}
if ((error = pci_write_config_byte(eni_dev->pci_dev,PCI_TONGA_CTRL,
END_SWAP_DMA))) {
printk(KERN_ERR DEV_LABEL "(itf %d): can't set endian swap "
"(0x%02x)\n",dev->number,error);
return error;
goto free_irq;
}
/* determine addresses of internal tables */
eni_dev->vci = eni_dev->ram;
Expand All @@ -1839,7 +1838,8 @@ static int __devinit eni_start(struct atm_dev *dev)
if (!eni_dev->free_list) {
printk(KERN_ERR DEV_LABEL "(itf %d): couldn't get free page\n",
dev->number);
return -ENOMEM;
error = -ENOMEM;
goto free_irq;
}
eni_dev->free_len = 0;
eni_put_free(eni_dev,buf,buffer_mem);
Expand All @@ -1855,17 +1855,26 @@ static int __devinit eni_start(struct atm_dev *dev)
*/
eni_out(0xffffffff,MID_IE);
error = start_tx(dev);
if (error) return error;
if (error) goto free_list;
error = start_rx(dev);
if (error) return error;
if (error) goto free_list;
error = dev->phy->start(dev);
if (error) return error;
if (error) goto free_list;
eni_out(eni_in(MID_MC_S) | (1 << MID_INT_SEL_SHIFT) |
MID_TX_LOCK_MODE | MID_DMA_ENABLE | MID_TX_ENABLE | MID_RX_ENABLE,
MID_MC_S);
/* Tonga uses SBus INTReq1 */
(void) eni_in(MID_ISA); /* clear Midway interrupts */
return 0;

free_list:
kfree(eni_dev->free_list);

free_irq:
free_irq(eni_dev->irq, eni_dev);

out:
return error;
}


Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/atm/fore200e.c
Original file line number Diff line number Diff line change
Expand Up @@ -2792,8 +2792,6 @@ static void __devexit fore200e_pca_remove_one(struct pci_dev *pci_dev)

fore200e = pci_get_drvdata(pci_dev);

list_del(&fore200e->entry);

fore200e_shutdown(fore200e);
kfree(fore200e);
pci_disable_device(pci_dev);
Expand Down Expand Up @@ -2850,7 +2848,7 @@ fore200e_module_init(void)
}

#ifdef CONFIG_ATM_FORE200E_PCA
if (!pci_module_init(&fore200e_pca_driver))
if (!pci_register_driver(&fore200e_pca_driver))
return 0;
#endif

Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/atm/he.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>
#include <asm/io.h>
#include <asm/byteorder.h>
#include <asm/uaccess.h>
Expand Down Expand Up @@ -371,7 +372,7 @@ he_init_one(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent)

if (pci_enable_device(pci_dev))
return -EIO;
if (pci_set_dma_mask(pci_dev, HE_DMA_MASK) != 0) {
if (pci_set_dma_mask(pci_dev, DMA_32BIT_MASK) != 0) {
printk(KERN_WARNING "he: no suitable dma available\n");
err = -EIO;
goto init_one_failure;
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/atm/he.h
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,6 @@ struct he_vcc
#define PCI_VENDOR_ID_FORE 0x1127
#define PCI_DEVICE_ID_FORE_HE 0x400

#define HE_DMA_MASK 0xffffffff

#define GEN_CNTL_0 0x40
#define INT_PROC_ENBL (1<<25)
#define SLAVE_ENDIAN_MODE (1<<16)
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/6pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -394,13 +394,11 @@ static void sp_bump(struct sixpack *sp, char cmd)
if ((skb = dev_alloc_skb(count)) == NULL)
goto out_mem;

skb->dev = sp->dev;
ptr = skb_put(skb, count);
*ptr++ = cmd; /* KISS command */

memcpy(ptr, sp->cooked_buf + 1, count);
skb->mac.raw = skb->data;
skb->protocol = htons(ETH_P_AX25);
skb->protocol = ax25_type_trans(skb, sp->dev);
netif_rx(skb);
sp->dev->last_rx = jiffies;
sp->stats.rx_packets++;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/baycom_epp.c
Original file line number Diff line number Diff line change
Expand Up @@ -601,12 +601,10 @@ static void do_rxpacket(struct net_device *dev)
bc->stats.rx_dropped++;
return;
}
skb->dev = dev;
cp = skb_put(skb, pktlen);
*cp++ = 0; /* KISS kludge */
memcpy(cp, bc->hdlcrx.buf, pktlen - 1);
skb->protocol = htons(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->protocol = ax25_type_trans(skb, dev);
netif_rx(skb);
dev->last_rx = jiffies;
bc->stats.rx_packets++;
Expand Down
10 changes: 2 additions & 8 deletions trunk/drivers/net/hamradio/bpqether.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,7 @@ static int bpq_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_ty
ptr = skb_push(skb, 1);
*ptr = 0;

skb->dev = dev;
skb->protocol = htons(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->pkt_type = PACKET_HOST;

skb->protocol = ax25_type_trans(skb, dev);
netif_rx(skb);
dev->last_rx = jiffies;
unlock:
Expand Down Expand Up @@ -272,8 +268,6 @@ static int bpq_xmit(struct sk_buff *skb, struct net_device *dev)
skb = newskb;
}

skb->protocol = htons(ETH_P_AX25);

ptr = skb_push(skb, 2);

*ptr++ = (size + 5) % 256;
Expand All @@ -287,7 +281,7 @@ static int bpq_xmit(struct sk_buff *skb, struct net_device *dev)
return -ENODEV;
}

skb->dev = dev;
skb->protocol = ax25_type_trans(skb, dev);
skb->nh.raw = skb->data;
dev->hard_header(skb, dev, ETH_P_BPQ, bpq->dest_addr, NULL, 0);
bpq->stats.tx_packets++;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/dmascc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1306,9 +1306,7 @@ static void rx_bh(void *arg)
data = skb_put(skb, cb + 1);
data[0] = 0;
memcpy(&data[1], priv->rx_buf[i], cb);
skb->dev = priv->dev;
skb->protocol = ntohs(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->protocol = ax25_type_trans(skb, priv->dev);
netif_rx(skb);
priv->dev->last_rx = jiffies;
priv->stats.rx_packets++;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/hdlcdrv.c
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,10 @@ static void hdlc_rx_flag(struct net_device *dev, struct hdlcdrv_state *s)
s->stats.rx_dropped++;
return;
}
skb->dev = dev;
cp = skb_put(skb, pkt_len);
*cp++ = 0; /* KISS kludge */
memcpy(cp, s->hdlcrx.buffer, pkt_len - 1);
skb->protocol = htons(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->protocol = ax25_type_trans(skb, dev);
netif_rx(skb);
dev->last_rx = jiffies;
s->stats.rx_packets++;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/mkiss.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,12 +332,10 @@ static void ax_bump(struct ax_disp *ax)
return;
}

skb->dev = ax->dev;
spin_lock_bh(&ax->buflock);
memcpy(skb_put(skb,count), ax->rbuff, count);
spin_unlock_bh(&ax->buflock);
skb->mac.raw = skb->data;
skb->protocol = htons(ETH_P_AX25);
skb->protocol = ax25_type_trans(skb, ax->dev);
netif_rx(skb);
ax->dev->last_rx = jiffies;
ax->rx_packets++;
Expand Down
5 changes: 1 addition & 4 deletions trunk/drivers/net/hamradio/scc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1630,10 +1630,7 @@ static void scc_net_rx(struct scc_channel *scc, struct sk_buff *skb)
scc->dev_stat.rx_packets++;
scc->dev_stat.rx_bytes += skb->len;

skb->dev = scc->dev;
skb->protocol = htons(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->pkt_type = PACKET_HOST;
skb->protocol = ax25_type_trans(skb, scc->dev);

netif_rx(skb);
scc->dev->last_rx = jiffies;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/net/hamradio/yam.c
Original file line number Diff line number Diff line change
Expand Up @@ -522,12 +522,10 @@ static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp)
++yp->stats.rx_dropped;
} else {
unsigned char *cp;
skb->dev = dev;
cp = skb_put(skb, pkt_len);
*cp++ = 0; /* KISS kludge */
memcpy(cp, yp->rx_buf, pkt_len - 1);
skb->protocol = htons(ETH_P_AX25);
skb->mac.raw = skb->data;
skb->protocol = ax25_type_trans(skb, dev);
netif_rx(skb);
dev->last_rx = jiffies;
++yp->stats.rx_packets;
Expand Down
30 changes: 12 additions & 18 deletions trunk/drivers/net/slip.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,12 @@ sl_alloc_bufs(struct slip *sl, int mtu)
/* Cleanup */
err_exit:
#ifdef SL_INCLUDE_CSLIP
if (cbuff)
kfree(cbuff);
kfree(cbuff);
if (slcomp)
slhc_free(slcomp);
#endif
if (xbuff)
kfree(xbuff);
if (rbuff)
kfree(rbuff);
kfree(xbuff);
kfree(rbuff);
return err;
}

Expand All @@ -204,13 +201,13 @@ sl_free_bufs(struct slip *sl)
void * tmp;

/* Free all SLIP frame buffers. */
if ((tmp = xchg(&sl->rbuff, NULL)) != NULL)
kfree(tmp);
if ((tmp = xchg(&sl->xbuff, NULL)) != NULL)
kfree(tmp);
tmp = xchg(&sl->rbuff, NULL);
kfree(tmp);
tmp = xchg(&sl->xbuff, NULL);
kfree(tmp);
#ifdef SL_INCLUDE_CSLIP
if ((tmp = xchg(&sl->cbuff, NULL)) != NULL)
kfree(tmp);
tmp = xchg(&sl->cbuff, NULL);
kfree(tmp);
if ((tmp = xchg(&sl->slcomp, NULL)) != NULL)
slhc_free(tmp);
#endif
Expand Down Expand Up @@ -297,13 +294,10 @@ static int sl_realloc_bufs(struct slip *sl, int mtu)
spin_unlock_bh(&sl->lock);

done:
if (xbuff)
kfree(xbuff);
if (rbuff)
kfree(rbuff);
kfree(xbuff);
kfree(rbuff);
#ifdef SL_INCLUDE_CSLIP
if (cbuff)
kfree(cbuff);
kfree(cbuff);
#endif
return err;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@

#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "3.25"
#define DRV_MODULE_RELDATE "March 24, 2005"
#define DRV_MODULE_VERSION "3.26"
#define DRV_MODULE_RELDATE "April 24, 2005"

#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
Expand Down
3 changes: 3 additions & 0 deletions trunk/include/linux/netfilter_ipv4.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ enum nf_ip_hook_priorities {
NF_IP_PRI_FILTER = 0,
NF_IP_PRI_NAT_SRC = 100,
NF_IP_PRI_SELINUX_LAST = 225,
NF_IP_PRI_CONNTRACK_HELPER = INT_MAX - 2,
NF_IP_PRI_NAT_SEQ_ADJUST = INT_MAX - 1,
NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
NF_IP_PRI_LAST = INT_MAX,
};

Expand Down
21 changes: 21 additions & 0 deletions trunk/include/linux/tc_act/tc_defact.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#ifndef __LINUX_TC_DEF_H
#define __LINUX_TC_DEF_H

#include <linux/pkt_cls.h>

struct tc_defact
{
tc_gen;
};

enum
{
TCA_DEF_UNSPEC,
TCA_DEF_TM,
TCA_DEF_PARMS,
TCA_DEF_DATA,
__TCA_DEF_MAX
};
#define TCA_DEF_MAX (__TCA_DEF_MAX - 1)

#endif
Loading

0 comments on commit e460de6

Please sign in to comment.