git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
drivers
/
atm
/
idt77252.c
diff --git
a/drivers/atm/idt77252.c
b/drivers/atm/idt77252.c
index
3d8764a
..
b4a76ca
100644
(file)
--- a/
drivers/atm/idt77252.c
+++ b/
drivers/atm/idt77252.c
@@
-46,6
+46,7
@@
static char const rcsid[] =
#include <linux/init.h>
#include <linux/bitops.h>
#include <linux/wait.h>
#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>
#include <asm/semaphore.h>
#include <asm/io.h>
#include <asm/uaccess.h>
@@
-727,10
+728,11
@@
push_on_scq(struct idt77252_dev *card, struct vc_map *vc, struct sk_buff *skb)
spin_lock_irqsave(&vc->lock, flags);
if (vc->estimator) {
struct atm_vcc *vcc = vc->tx_vcc;
spin_lock_irqsave(&vc->lock, flags);
if (vc->estimator) {
struct atm_vcc *vcc = vc->tx_vcc;
+ struct sock *sk = sk_atm(vcc);
vc->estimator->cells += (skb->len + 47) / 48;
vc->estimator->cells += (skb->len + 47) / 48;
- if (atomic_read(&
vcc->
sk->sk_wmem_alloc) >
- (
vcc->
sk->sk_sndbuf >> 1)) {
+ if (atomic_read(&sk->sk_wmem_alloc) >
+ (sk->sk_sndbuf >> 1)) {
u32 cps = vc->estimator->maxcps;
vc->estimator->cps = cps;
u32 cps = vc->estimator->maxcps;
vc->estimator->cps = cps;
@@
-779,7
+781,7
@@
push_on_scq(struct idt77252_dev *card, struct vc_map *vc, struct sk_buff *skb)
return 0;
out:
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
printk("%s: Error pushing TBD for %d.%d\n",
card->name, vc->tx_vcc->vpi, vc->tx_vcc->vci);
#ifdef CONFIG_ATM_IDT77252_DEBUG
@@
-1099,7
+1101,7
@@
dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
cell, ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc;
cell, ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc;
-
do_gettimeofday(&sb->stamp
);
+
__net_timestamp(sb
);
vcc->push(vcc, sb);
atomic_inc(&vcc->stats->rx);
vcc->push(vcc, sb);
atomic_inc(&vcc->stats->rx);
@@
-1177,7
+1179,7
@@
dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
skb_trim(skb, len);
ATM_SKB(skb)->vcc = vcc;
skb_trim(skb, len);
ATM_SKB(skb)->vcc = vcc;
-
do_gettimeofday(&skb->stamp
);
+
__net_timestamp(skb
);
vcc->push(vcc, skb);
atomic_inc(&vcc->stats->rx);
vcc->push(vcc, skb);
atomic_inc(&vcc->stats->rx);
@@
-1199,7
+1201,7
@@
dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
skb_trim(skb, len);
ATM_SKB(skb)->vcc = vcc;
skb_trim(skb, len);
ATM_SKB(skb)->vcc = vcc;
-
do_gettimeofday(&skb->stamp
);
+
__net_timestamp(skb
);
vcc->push(vcc, skb);
atomic_inc(&vcc->stats->rx);
vcc->push(vcc, skb);
atomic_inc(&vcc->stats->rx);
@@
-1325,7
+1327,7
@@
idt77252_rx_raw(struct idt77252_dev *card)
goto drop;
}
goto drop;
}
- if (
(vcc->sk != NULL) &&
!atm_charge(vcc, sb->truesize)) {
+ if (!atm_charge(vcc, sb->truesize)) {
RXPRINTK("%s: atm_charge() dropped AAL0 packets.\n",
card->name);
dev_kfree_skb(sb);
RXPRINTK("%s: atm_charge() dropped AAL0 packets.\n",
card->name);
dev_kfree_skb(sb);
@@
-1338,7
+1340,7
@@
idt77252_rx_raw(struct idt77252_dev *card)
ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc;
ATM_CELL_PAYLOAD);
ATM_SKB(sb)->vcc = vcc;
-
do_gettimeofday(&sb->stamp
);
+
__net_timestamp(sb
);
vcc->push(vcc, sb);
atomic_inc(&vcc->stats->rx);
vcc->push(vcc, sb);
atomic_inc(&vcc->stats->rx);
@@
-2029,7
+2031,7
@@
idt77252_send_oam(struct atm_vcc *vcc, void *cell, int flags)
atomic_inc(&vcc->stats->tx_err);
return -ENOMEM;
}
atomic_inc(&vcc->stats->tx_err);
return -ENOMEM;
}
- atomic_add(skb->truesize, &
vcc->sk
->sk_wmem_alloc);
+ atomic_add(skb->truesize, &
sk_atm(vcc)
->sk_wmem_alloc);
memcpy(skb_put(skb, 52), cell, 52);
memcpy(skb_put(skb, 52), cell, 52);