From b94f0e06ab9578a96514ea8343f3314c63bb50fd Mon Sep 17 00:00:00 2001 From: Frank Blaschka Date: Wed, 29 Aug 2007 11:26:53 +0200 Subject: [PATCH] --- yaml --- r: 64664 b: refs/heads/master c: cde46035161d677617983177e877c87d89fbb5e1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/s390/net/qeth_main.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 3299d78d0bf4..551a184dbf6c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d0a34f98d1da66a5b4e02171854e6c04c9916016 +refs/heads/master: cde46035161d677617983177e877c87d89fbb5e1 diff --git a/trunk/drivers/s390/net/qeth_main.c b/trunk/drivers/s390/net/qeth_main.c index ba10d42a1a56..610d27cfd28b 100644 --- a/trunk/drivers/s390/net/qeth_main.c +++ b/trunk/drivers/s390/net/qeth_main.c @@ -2803,13 +2803,16 @@ qeth_queue_input_buffer(struct qeth_card *card, int index) if (newcount < count) { /* we are in memory shortage so we switch back to traditional skb allocation and drop packages */ - if (atomic_cmpxchg(&card->force_alloc_skb, 0, 1)) - printk(KERN_WARNING - "qeth: switch to alloc skb\n"); + if (!atomic_read(&card->force_alloc_skb) && + net_ratelimit()) + PRINT_WARN("Switch to alloc skb\n"); + atomic_set(&card->force_alloc_skb, 3); count = newcount; } else { - if (atomic_cmpxchg(&card->force_alloc_skb, 1, 0)) - printk(KERN_WARNING "qeth: switch to sg\n"); + if ((atomic_read(&card->force_alloc_skb) == 1) && + net_ratelimit()) + PRINT_WARN("Switch to sg\n"); + atomic_add_unless(&card->force_alloc_skb, -1, 0); } /*