recv.c (277a163c83d7ba93fba1e8980d29a9f8bfcfba6c) recv.c (3a758134e66ca74a9df792616b5288b2fa2cfd7f)
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1099 unchanged lines hidden (view full) ---

1108
1109requeue_drop_frag:
1110 if (sc->rx.frag) {
1111 dev_kfree_skb_any(sc->rx.frag);
1112 sc->rx.frag = NULL;
1113 }
1114requeue:
1115 list_add_tail(&bf->list, &sc->rx.rxbuf);
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1099 unchanged lines hidden (view full) ---

1108
1109requeue_drop_frag:
1110 if (sc->rx.frag) {
1111 dev_kfree_skb_any(sc->rx.frag);
1112 sc->rx.frag = NULL;
1113 }
1114requeue:
1115 list_add_tail(&bf->list, &sc->rx.rxbuf);
1116 if (flush)
1117 continue;
1118
1119 if (edma) {
1120 ath_rx_edma_buf_link(sc, qtype);
1121 } else {
1122 ath_rx_buf_relink(sc, bf);
1116
1117 if (edma) {
1118 ath_rx_edma_buf_link(sc, qtype);
1119 } else {
1120 ath_rx_buf_relink(sc, bf);
1123 ath9k_hw_rxena(ah);
1121 if (!flush)
1122 ath9k_hw_rxena(ah);
1124 }
1125 } while (1);
1126
1127 if (!(ah->imask & ATH9K_INT_RXEOL)) {
1128 ah->imask |= (ATH9K_INT_RXEOL | ATH9K_INT_RXORN);
1129 ath9k_hw_set_interrupts(ah);
1130 }
1131
1132 return 0;
1133}
1123 }
1124 } while (1);
1125
1126 if (!(ah->imask & ATH9K_INT_RXEOL)) {
1127 ah->imask |= (ATH9K_INT_RXEOL | ATH9K_INT_RXORN);
1128 ath9k_hw_set_interrupts(ah);
1129 }
1130
1131 return 0;
1132}