OSDN Git Service

atl1c: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 15 Mar 2014 22:58:10 +0000 (15:58 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 25 Mar 2014 04:18:54 +0000 (21:18 -0700)
commit07641c8fa45774d5e99f4bdc8c37a7d174a2e973
treeab0bf0b68762265c17c3766489ec2285f527c99a
parent548ff1ed7d251a5de40e2dfb3ec5f317ee834082
atl1c: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.

The call path: atl1c_xmit_frame, atlc_tx_rollback, atl1c_clean_buffer
can not be tell at compile time if it will be invoked from hard irq
or other context, as atl1c_xmit_frame does not know.  So remove
the logic that  passes the compile time knowledge into al1c_clean_buffer
and figure out it out at runtime with dev_consume_skb_any.

Replace dev_kfree_skb with dev_kfree_skb_any in atl1c_xmit_frame that
can be called in hard irq and other contexts.

Replace dev_kfree_skb and dev_kfree_skb_irq with dev_consume_skb_any
in atl1c_clean_buffer that can be called in hard irq and other
contexts.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
drivers/net/ethernet/atheros/atl1c/atl1c_main.c