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 master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
+3
-3
@@ -41,7 +41,7 @@ static unsigned int crypt_slow(const struct cipher_desc *desc,
|
||||
struct scatter_walk *in,
|
||||
struct scatter_walk *out, unsigned int bsize)
|
||||
{
|
||||
unsigned int alignmask = crypto_tfm_alg_alignmask(desc->tfm);
|
||||
unsigned long alignmask = crypto_tfm_alg_alignmask(desc->tfm);
|
||||
u8 buffer[bsize * 2 + alignmask];
|
||||
u8 *src = (u8 *)ALIGN((unsigned long)buffer, alignmask + 1);
|
||||
u8 *dst = src + bsize;
|
||||
@@ -160,7 +160,7 @@ static int crypt_iv_unaligned(struct cipher_desc *desc,
|
||||
unsigned int nbytes)
|
||||
{
|
||||
struct crypto_tfm *tfm = desc->tfm;
|
||||
unsigned int alignmask = crypto_tfm_alg_alignmask(tfm);
|
||||
unsigned long alignmask = crypto_tfm_alg_alignmask(tfm);
|
||||
u8 *iv = desc->info;
|
||||
|
||||
if (unlikely(((unsigned long)iv & alignmask))) {
|
||||
@@ -424,7 +424,7 @@ int crypto_init_cipher_ops(struct crypto_tfm *tfm)
|
||||
}
|
||||
|
||||
if (ops->cit_mode == CRYPTO_TFM_MODE_CBC) {
|
||||
unsigned int align;
|
||||
unsigned long align;
|
||||
unsigned long addr;
|
||||
|
||||
switch (crypto_tfm_alg_blocksize(tfm)) {
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ static inline unsigned int crypto_cipher_ctxsize(struct crypto_alg *alg,
|
||||
|
||||
switch (flags & CRYPTO_TFM_MODE_MASK) {
|
||||
case CRYPTO_TFM_MODE_CBC:
|
||||
len = ALIGN(len, alg->cra_alignmask + 1);
|
||||
len = ALIGN(len, (unsigned long)alg->cra_alignmask + 1);
|
||||
len += alg->cra_blocksize;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -794,7 +794,9 @@ static void drain_rx_pools (amb_dev * dev) {
|
||||
drain_rx_pool (dev, pool);
|
||||
}
|
||||
|
||||
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool, int priority) {
|
||||
static inline void fill_rx_pool (amb_dev * dev, unsigned char pool,
|
||||
unsigned int __nocast priority)
|
||||
{
|
||||
rx_in rx;
|
||||
amb_rxq * rxq;
|
||||
|
||||
|
||||
@@ -1374,7 +1374,8 @@ static void reset_chip (struct fs_dev *dev)
|
||||
}
|
||||
}
|
||||
|
||||
static void __devinit *aligned_kmalloc (int size, int flags, int alignment)
|
||||
static void __devinit *aligned_kmalloc (int size, unsigned int __nocast flags,
|
||||
int alignment)
|
||||
{
|
||||
void *t;
|
||||
|
||||
@@ -1464,7 +1465,8 @@ static inline int nr_buffers_in_freepool (struct fs_dev *dev, struct freepool *f
|
||||
does. I've seen "receive abort: no buffers" and things started
|
||||
working again after that... -- REW */
|
||||
|
||||
static void top_off_fp (struct fs_dev *dev, struct freepool *fp, int gfp_flags)
|
||||
static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
|
||||
unsigned int __nocast gfp_flags)
|
||||
{
|
||||
struct FS_BPENTRY *qe, *ne;
|
||||
struct sk_buff *skb;
|
||||
|
||||
@@ -57,7 +57,6 @@
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/version.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
@@ -46,6 +46,7 @@ static char const rcsid[] =
|
||||
#include <linux/init.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <asm/semaphore.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -780,7 +781,7 @@ push_on_scq(struct idt77252_dev *card, struct vc_map *vc, struct sk_buff *skb)
|
||||
return 0;
|
||||
|
||||
out:
|
||||
if (jiffies - scq->trans_start > HZ) {
|
||||
if (time_after(jiffies, scq->trans_start + HZ)) {
|
||||
printk("%s: Error pushing TBD for %d.%d\n",
|
||||
card->name, vc->tx_vcc->vpi, vc->tx_vcc->vci);
|
||||
#ifdef CONFIG_ATM_IDT77252_DEBUG
|
||||
|
||||
+62
-47
@@ -16,9 +16,9 @@
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/ioport.h> /* for request_region */
|
||||
#include <linux/uio.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/atm_zatm.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/bitops.h>
|
||||
@@ -1257,22 +1257,22 @@ static int __init zatm_init(struct atm_dev *dev)
|
||||
|
||||
static int __init zatm_start(struct atm_dev *dev)
|
||||
{
|
||||
struct zatm_dev *zatm_dev;
|
||||
struct zatm_dev *zatm_dev = ZATM_DEV(dev);
|
||||
struct pci_dev *pdev = zatm_dev->pci_dev;
|
||||
unsigned long curr;
|
||||
int pools,vccs,rx;
|
||||
int error,i,ld;
|
||||
int error, i, ld;
|
||||
|
||||
DPRINTK("zatm_start\n");
|
||||
zatm_dev = ZATM_DEV(dev);
|
||||
zatm_dev->rx_map = zatm_dev->tx_map = NULL;
|
||||
for (i = 0; i < NR_MBX; i++)
|
||||
zatm_dev->mbx_start[i] = 0;
|
||||
if (request_irq(zatm_dev->irq,&zatm_int,SA_SHIRQ,DEV_LABEL,dev)) {
|
||||
printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
|
||||
dev->number,zatm_dev->irq);
|
||||
return -EAGAIN;
|
||||
for (i = 0; i < NR_MBX; i++)
|
||||
zatm_dev->mbx_start[i] = 0;
|
||||
error = request_irq(zatm_dev->irq, zatm_int, SA_SHIRQ, DEV_LABEL, dev);
|
||||
if (error < 0) {
|
||||
printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
|
||||
dev->number,zatm_dev->irq);
|
||||
goto done;
|
||||
}
|
||||
request_region(zatm_dev->base,uPD98401_PORTS,DEV_LABEL);
|
||||
/* define memory regions */
|
||||
pools = NR_POOLS;
|
||||
if (NR_SHAPERS*SHAPER_SIZE > pools*POOL_SIZE)
|
||||
@@ -1299,51 +1299,66 @@ static int __init zatm_start(struct atm_dev *dev)
|
||||
"%ld VCs\n",dev->number,NR_SHAPERS,pools,rx,
|
||||
(zatm_dev->mem-curr*4)/VC_SIZE);
|
||||
/* create mailboxes */
|
||||
for (i = 0; i < NR_MBX; i++)
|
||||
if (mbx_entries[i]) {
|
||||
unsigned long here;
|
||||
for (i = 0; i < NR_MBX; i++) {
|
||||
void *mbx;
|
||||
dma_addr_t mbx_dma;
|
||||
|
||||
here = (unsigned long) kmalloc(2*MBX_SIZE(i),
|
||||
GFP_KERNEL);
|
||||
if (!here) {
|
||||
error = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
if ((here^(here+MBX_SIZE(i))) & ~0xffffUL)/* paranoia */
|
||||
here = (here & ~0xffffUL)+0x10000;
|
||||
zatm_dev->mbx_start[i] = here;
|
||||
if ((here^virt_to_bus((void *) here)) & 0xffff) {
|
||||
printk(KERN_ERR DEV_LABEL "(itf %d): system "
|
||||
"bus incompatible with driver\n",
|
||||
dev->number);
|
||||
error = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
DPRINTK("mbx@0x%08lx-0x%08lx\n",here,here+MBX_SIZE(i));
|
||||
zatm_dev->mbx_end[i] = (here+MBX_SIZE(i)) & 0xffff;
|
||||
zout(virt_to_bus((void *) here) >> 16,MSH(i));
|
||||
zout(virt_to_bus((void *) here),MSL(i));
|
||||
zout((here+MBX_SIZE(i)) & 0xffff,MBA(i));
|
||||
zout(here & 0xffff,MTA(i));
|
||||
zout(here & 0xffff,MWA(i));
|
||||
if (!mbx_entries[i])
|
||||
continue;
|
||||
mbx = pci_alloc_consistent(pdev, 2*MBX_SIZE(i), &mbx_dma);
|
||||
if (!mbx) {
|
||||
error = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
/*
|
||||
* Alignment provided by pci_alloc_consistent() isn't enough
|
||||
* for this device.
|
||||
*/
|
||||
if (((unsigned long)mbx ^ mbx_dma) & 0xffff) {
|
||||
printk(KERN_ERR DEV_LABEL "(itf %d): system "
|
||||
"bus incompatible with driver\n", dev->number);
|
||||
pci_free_consistent(pdev, 2*MBX_SIZE(i), mbx, mbx_dma);
|
||||
error = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
DPRINTK("mbx@0x%08lx-0x%08lx\n", mbx, mbx + MBX_SIZE(i));
|
||||
zatm_dev->mbx_start[i] = (unsigned long)mbx;
|
||||
zatm_dev->mbx_dma[i] = mbx_dma;
|
||||
zatm_dev->mbx_end[i] = (zatm_dev->mbx_start[i] + MBX_SIZE(i)) &
|
||||
0xffff;
|
||||
zout(mbx_dma >> 16, MSH(i));
|
||||
zout(mbx_dma, MSL(i));
|
||||
zout(zatm_dev->mbx_end[i], MBA(i));
|
||||
zout((unsigned long)mbx & 0xffff, MTA(i));
|
||||
zout((unsigned long)mbx & 0xffff, MWA(i));
|
||||
}
|
||||
error = start_tx(dev);
|
||||
if (error) goto out;
|
||||
if (error)
|
||||
goto out;
|
||||
error = start_rx(dev);
|
||||
if (error) goto out;
|
||||
if (error)
|
||||
goto out_tx;
|
||||
error = dev->phy->start(dev);
|
||||
if (error) goto out;
|
||||
if (error)
|
||||
goto out_rx;
|
||||
zout(0xffffffff,IMR); /* enable interrupts */
|
||||
/* enable TX & RX */
|
||||
zout(zin(GMR) | uPD98401_GMR_SE | uPD98401_GMR_RE,GMR);
|
||||
return 0;
|
||||
out:
|
||||
for (i = 0; i < NR_MBX; i++)
|
||||
kfree(zatm_dev->mbx_start[i]);
|
||||
kfree(zatm_dev->rx_map);
|
||||
kfree(zatm_dev->tx_map);
|
||||
free_irq(zatm_dev->irq, dev);
|
||||
done:
|
||||
return error;
|
||||
|
||||
out_rx:
|
||||
kfree(zatm_dev->rx_map);
|
||||
out_tx:
|
||||
kfree(zatm_dev->tx_map);
|
||||
out:
|
||||
while (i-- > 0) {
|
||||
pci_free_consistent(pdev, 2*MBX_SIZE(i),
|
||||
(void *)zatm_dev->mbx_start[i],
|
||||
zatm_dev->mbx_dma[i]);
|
||||
}
|
||||
free_irq(zatm_dev->irq, dev);
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ struct zatm_dev {
|
||||
int chans; /* map size, must be 2^n */
|
||||
/*-------------------------------- mailboxes */
|
||||
unsigned long mbx_start[NR_MBX];/* start addresses */
|
||||
dma_addr_t mbx_dma[NR_MBX];
|
||||
u16 mbx_end[NR_MBX]; /* end offset (in bytes) */
|
||||
/*-------------------------------- other pointers */
|
||||
u32 pool_base; /* Free buffer pool dsc (word addr) */
|
||||
|
||||
+17
-1
@@ -2544,9 +2544,25 @@ config SHAPER
|
||||
|
||||
config NETCONSOLE
|
||||
tristate "Network console logging support (EXPERIMENTAL)"
|
||||
depends on NETDEVICES && EXPERIMENTAL
|
||||
depends on NETDEVICES && INET && EXPERIMENTAL
|
||||
---help---
|
||||
If you want to log kernel messages over the network, enable this.
|
||||
See <file:Documentation/networking/netconsole.txt> for details.
|
||||
|
||||
config NETPOLL
|
||||
def_bool NETCONSOLE
|
||||
|
||||
config NETPOLL_RX
|
||||
bool "Netpoll support for trapping incoming packets"
|
||||
default n
|
||||
depends on NETPOLL
|
||||
|
||||
config NETPOLL_TRAP
|
||||
bool "Netpoll traffic trapping"
|
||||
default n
|
||||
depends on NETPOLL
|
||||
|
||||
config NET_POLL_CONTROLLER
|
||||
def_bool NETPOLL
|
||||
|
||||
endmenu
|
||||
|
||||
+8
-8
@@ -132,7 +132,7 @@ static struct net_device_stats *eql_get_stats(struct net_device *dev);
|
||||
#define eql_is_slave(dev) ((dev->flags & IFF_SLAVE) == IFF_SLAVE)
|
||||
#define eql_is_master(dev) ((dev->flags & IFF_MASTER) == IFF_MASTER)
|
||||
|
||||
static void eql_kill_one_slave(slave_t *slave);
|
||||
static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
|
||||
|
||||
static void eql_timer(unsigned long param)
|
||||
{
|
||||
@@ -149,7 +149,7 @@ static void eql_timer(unsigned long param)
|
||||
if (slave->bytes_queued < 0)
|
||||
slave->bytes_queued = 0;
|
||||
} else {
|
||||
eql_kill_one_slave(slave);
|
||||
eql_kill_one_slave(&eql->queue, slave);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -214,9 +214,10 @@ static int eql_open(struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void eql_kill_one_slave(slave_t *slave)
|
||||
static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave)
|
||||
{
|
||||
list_del(&slave->list);
|
||||
queue->num_slaves--;
|
||||
slave->dev->flags &= ~IFF_SLAVE;
|
||||
dev_put(slave->dev);
|
||||
kfree(slave);
|
||||
@@ -232,8 +233,7 @@ static void eql_kill_slave_queue(slave_queue_t *queue)
|
||||
list_for_each_safe(this, tmp, head) {
|
||||
slave_t *s = list_entry(this, slave_t, list);
|
||||
|
||||
eql_kill_one_slave(s);
|
||||
queue->num_slaves--;
|
||||
eql_kill_one_slave(queue, s);
|
||||
}
|
||||
|
||||
spin_unlock_bh(&queue->lock);
|
||||
@@ -318,7 +318,7 @@ static slave_t *__eql_schedule_slaves(slave_queue_t *queue)
|
||||
}
|
||||
} else {
|
||||
/* We found a dead slave, kill it. */
|
||||
eql_kill_one_slave(slave);
|
||||
eql_kill_one_slave(queue, slave);
|
||||
}
|
||||
}
|
||||
return best_slave;
|
||||
@@ -393,7 +393,7 @@ static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave)
|
||||
|
||||
duplicate_slave = __eql_find_slave_dev(queue, slave->dev);
|
||||
if (duplicate_slave != 0)
|
||||
eql_kill_one_slave(duplicate_slave);
|
||||
eql_kill_one_slave(queue, duplicate_slave);
|
||||
|
||||
list_add(&slave->list, &queue->all_slaves);
|
||||
queue->num_slaves++;
|
||||
@@ -471,7 +471,7 @@ static int eql_emancipate(struct net_device *master_dev, slaving_request_t __use
|
||||
slave_dev);
|
||||
|
||||
if (slave) {
|
||||
eql_kill_one_slave(slave);
|
||||
eql_kill_one_slave(&eql->queue, slave);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/mii.h>
|
||||
#include <linux/jiffies.h>
|
||||
|
||||
#include <pcmcia/cs_types.h>
|
||||
#include <pcmcia/cs.h>
|
||||
@@ -2092,7 +2093,7 @@ static void media_check(u_long arg)
|
||||
}
|
||||
|
||||
/* Ignore collisions unless we've had no rx's recently */
|
||||
if (jiffies - dev->last_rx > HZ) {
|
||||
if (time_after(jiffies, dev->last_rx + HZ)) {
|
||||
if (smc->tx_err || (smc->media_status & EPH_16COL))
|
||||
media |= EPH_16COL;
|
||||
}
|
||||
|
||||
@@ -152,6 +152,7 @@
|
||||
#include <asm/io.h> /* for inb(), outb(), etc. */
|
||||
#include <linux/time.h> /* for do_gettimeofday */
|
||||
#include <linux/in.h> /* sockaddr_in */
|
||||
#include <linux/jiffies.h> /* time_after() macro */
|
||||
#include <asm/errno.h>
|
||||
|
||||
#include <linux/ip.h>
|
||||
@@ -773,7 +774,7 @@ static int update(struct wan_device* wandev)
|
||||
for(;;) {
|
||||
if(card->u.f.update_comms_stats == 0)
|
||||
break;
|
||||
if ((jiffies - timeout) > (1 * HZ)){
|
||||
if (time_after(jiffies, timeout + 1 * HZ)){
|
||||
card->u.f.update_comms_stats = 0;
|
||||
return -EAGAIN;
|
||||
}
|
||||
@@ -4799,7 +4800,7 @@ static void trigger_unconfig_fr(struct net_device *dev)
|
||||
{
|
||||
fr_channel_t *chan = dev->priv;
|
||||
volatile sdla_t *card = chan->card;
|
||||
u32 timeout;
|
||||
unsigned long timeout;
|
||||
fr508_flags_t* flags = card->flags;
|
||||
int reset_critical=0;
|
||||
|
||||
@@ -4821,7 +4822,7 @@ static void trigger_unconfig_fr(struct net_device *dev)
|
||||
if(!(card->u.f.timer_int_enabled & TMR_INT_ENABLED_UNCONFIG))
|
||||
break;
|
||||
|
||||
if ((jiffies - timeout) > (1 * HZ)){
|
||||
if (time_after(jiffies, timeout + 1 * HZ)){
|
||||
card->u.f.timer_int_enabled &= ~TMR_INT_ENABLED_UNCONFIG;
|
||||
printk(KERN_INFO "%s: Failed to delete DLCI %i\n",
|
||||
card->devname,chan->dlci);
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <linux/wanrouter.h> /* WAN router definitions */
|
||||
#include <linux/wanpipe.h> /* WANPIPE common user API definitions */
|
||||
#include <linux/if_arp.h> /* ARPHRD_* defines */
|
||||
#include <linux/jiffies.h> /* time_after() macro */
|
||||
|
||||
#include <linux/inetdevice.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -164,7 +165,7 @@ int wpft1_init (sdla_t* card, wandev_conf_t* conf)
|
||||
|
||||
timeout = jiffies;
|
||||
while (mb->return_code != 'I') /* Wait 1s for board to initialize */
|
||||
if ((jiffies - timeout) > 1*HZ) break;
|
||||
if (time_after(jiffies, timeout + 1*HZ)) break;
|
||||
|
||||
if (mb->return_code != 'I') {
|
||||
printk(KERN_INFO
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
#include <linux/if_arp.h> /* ARPHRD_* defines */
|
||||
#include <asm/byteorder.h> /* htons(), etc. */
|
||||
#include <linux/in.h> /* sockaddr_in */
|
||||
#include <linux/jiffies.h> /* time_after() macro */
|
||||
|
||||
|
||||
#include <asm/uaccess.h>
|
||||
@@ -482,7 +483,7 @@ static int update(struct wan_device *wandev)
|
||||
if(ppp_priv_area->update_comms_stats == 0){
|
||||
break;
|
||||
}
|
||||
if ((jiffies - timeout) > (1 * HZ)){
|
||||
if (time_after(jiffies, timeout + 1 * HZ)){
|
||||
ppp_priv_area->update_comms_stats = 0;
|
||||
ppp_priv_area->timer_int_enabled &=
|
||||
~TMR_INT_ENABLED_UPDATE;
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
#include <linux/wanrouter.h> /* WAN router definitions */
|
||||
#include <linux/wanpipe.h> /* WANPIPE common user API definitions */
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/jiffies.h> /* time_after() macro */
|
||||
#include <asm/byteorder.h> /* htons(), etc. */
|
||||
#include <asm/atomic.h>
|
||||
#include <linux/delay.h> /* Experimental delay */
|
||||
@@ -867,7 +868,7 @@ static int update(struct wan_device* wandev)
|
||||
if (!(card->u.x.timer_int_enabled & TMR_INT_ENABLED_UPDATE)){
|
||||
break;
|
||||
}
|
||||
if ((jiffies-timeout) > 1*HZ){
|
||||
if (time_after(jiffies, timeout + 1*HZ)){
|
||||
card->u.x.timer_int_enabled &= ~TMR_INT_ENABLED_UPDATE;
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <linux/wanrouter.h> /* WAN router definitions */
|
||||
#include <linux/wanpipe.h> /* WANPIPE common user API definitions */
|
||||
#include <linux/if_arp.h> /* ARPHRD_* defines */
|
||||
#include <linux/jiffies.h> /* time_after() macro */
|
||||
|
||||
#include <linux/in.h> /* sockaddr_in */
|
||||
#include <linux/inet.h>
|
||||
@@ -270,9 +271,9 @@ int wsppp_init (sdla_t* card, wandev_conf_t* conf)
|
||||
ready to accept commands. We expect this to be completed in less
|
||||
than 1 second. */
|
||||
|
||||
timeout = jiffies;
|
||||
timeout = jiffies + 1 * HZ;
|
||||
while (mb->return_code != 'I') /* Wait 1s for board to initialize */
|
||||
if ((jiffies - timeout) > 1*HZ) break;
|
||||
if (time_after(jiffies, timeout)) break;
|
||||
|
||||
if (mb->return_code != 'I') {
|
||||
printk(KERN_INFO
|
||||
@@ -493,11 +494,11 @@ static int update(struct wan_device* wandev)
|
||||
chdlc_priv_area->timer_int_enabled = TMR_INT_ENABLED_UPDATE;
|
||||
|
||||
/* wait a maximum of 1 second for the statistics to be updated */
|
||||
timeout = jiffies;
|
||||
timeout = jiffies + 1 * HZ;
|
||||
for(;;) {
|
||||
if(chdlc_priv_area->update_comms_stats == 0)
|
||||
break;
|
||||
if ((jiffies - timeout) > (1 * HZ)){
|
||||
if (time_after(jiffies, timeout)){
|
||||
chdlc_priv_area->update_comms_stats = 0;
|
||||
chdlc_priv_area->timer_int_enabled &=
|
||||
~TMR_INT_ENABLED_UPDATE;
|
||||
|
||||
@@ -448,19 +448,19 @@ static void speedtch_check_status(struct speedtch_instance_data *instance)
|
||||
case 0:
|
||||
atm_dev->signal = ATM_PHY_SIG_LOST;
|
||||
if (instance->last_status)
|
||||
atm_info(usbatm, "ADSL line is down\n");
|
||||
atm_info(usbatm, "%s\n", "ADSL line is down");
|
||||
/* It may never resync again unless we ask it to... */
|
||||
ret = speedtch_start_synchro(instance);
|
||||
break;
|
||||
|
||||
case 0x08:
|
||||
atm_dev->signal = ATM_PHY_SIG_UNKNOWN;
|
||||
atm_info(usbatm, "ADSL line is blocked?\n");
|
||||
atm_info(usbatm, "%s\n", "ADSL line is blocked?");
|
||||
break;
|
||||
|
||||
case 0x10:
|
||||
atm_dev->signal = ATM_PHY_SIG_LOST;
|
||||
atm_info(usbatm, "ADSL line is synchronising\n");
|
||||
atm_info(usbatm, "%s\n", "ADSL line is synchronising");
|
||||
break;
|
||||
|
||||
case 0x20:
|
||||
@@ -502,7 +502,7 @@ static void speedtch_status_poll(unsigned long data)
|
||||
if (instance->poll_delay < MAX_POLL_DELAY)
|
||||
mod_timer(&instance->status_checker.timer, jiffies + msecs_to_jiffies(instance->poll_delay));
|
||||
else
|
||||
atm_warn(instance->usbatm, "Too many failures - disabling line status polling\n");
|
||||
atm_warn(instance->usbatm, "%s\n", "Too many failures - disabling line status polling");
|
||||
}
|
||||
|
||||
static void speedtch_resubmit_int(unsigned long data)
|
||||
@@ -545,9 +545,9 @@ static void speedtch_handle_int(struct urb *int_urb, struct pt_regs *regs)
|
||||
|
||||
if ((count == 6) && !memcmp(up_int, instance->int_data, 6)) {
|
||||
del_timer(&instance->status_checker.timer);
|
||||
atm_info(usbatm, "DSL line goes up\n");
|
||||
atm_info(usbatm, "%s\n", "DSL line goes up");
|
||||
} else if ((count == 6) && !memcmp(down_int, instance->int_data, 6)) {
|
||||
atm_info(usbatm, "DSL line goes down\n");
|
||||
atm_info(usbatm, "%s\n", "DSL line goes down");
|
||||
} else {
|
||||
int i;
|
||||
|
||||
|
||||
@@ -197,6 +197,9 @@ struct ip_conntrack_expect
|
||||
/* Timer function; deletes the expectation. */
|
||||
struct timer_list timeout;
|
||||
|
||||
/* Usage count. */
|
||||
atomic_t use;
|
||||
|
||||
#ifdef CONFIG_IP_NF_NAT_NEEDED
|
||||
/* This is the original per-proto part, used to map the
|
||||
* expected connection the way the recipient expects. */
|
||||
|
||||
@@ -30,9 +30,10 @@ extern int ip_conntrack_helper_register(struct ip_conntrack_helper *);
|
||||
extern void ip_conntrack_helper_unregister(struct ip_conntrack_helper *);
|
||||
|
||||
/* Allocate space for an expectation: this is mandatory before calling
|
||||
ip_conntrack_expect_related. */
|
||||
extern struct ip_conntrack_expect *ip_conntrack_expect_alloc(void);
|
||||
extern void ip_conntrack_expect_free(struct ip_conntrack_expect *exp);
|
||||
ip_conntrack_expect_related. You will have to call put afterwards. */
|
||||
extern struct ip_conntrack_expect *
|
||||
ip_conntrack_expect_alloc(struct ip_conntrack *master);
|
||||
extern void ip_conntrack_expect_put(struct ip_conntrack_expect *exp);
|
||||
|
||||
/* Add an expected connection: can have more than one per connection */
|
||||
extern int ip_conntrack_expect_related(struct ip_conntrack_expect *exp);
|
||||
|
||||
@@ -502,7 +502,8 @@ static inline struct sk_buff *skb_share_check(struct sk_buff *skb,
|
||||
*
|
||||
* %NULL is returned on a memory allocation failure.
|
||||
*/
|
||||
static inline struct sk_buff *skb_unshare(struct sk_buff *skb, int pri)
|
||||
static inline struct sk_buff *skb_unshare(struct sk_buff *skb,
|
||||
unsigned int __nocast pri)
|
||||
{
|
||||
might_sleep_if(pri & __GFP_WAIT);
|
||||
if (skb_cloned(skb)) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user