rapidio/rionet: fix multicast packet transmit logic
authorAlexandre Bounine <alexandre.bounine@idt.com>
Fri, 5 Oct 2012 00:15:48 +0000 (17:15 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 17 Oct 2012 02:49:38 +0000 (03:49 +0100)
commit927ba3c8a63892480157f13ba912c04ef9d4b012
treee7721207beb6bb91ef5ad29c6fb0327c936bd172
parent0ae961fe09b82f5b073420233bca2475a814d75b
rapidio/rionet: fix multicast packet transmit logic

commit 7c4a6106d6451fc03c491e61df37c044505d843a upstream.

Fix multicast packet transmit logic to account for repetitive transmission
of single skb:
- correct check for available buffers (this bug may produce NULL pointer
  crash dump in case of heavy traffic);
- update skb user count (incorrect user counter causes a warning dump from
  net_tx_action routine during multicast transfers in systems with three or
  more rionet participants).

Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/rionet.c