mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-24 18:38:38 +00:00
ath9k: Remove the useless do..while loops
These are unnecessary constructs in a function. This patch removes these from both RX and TX init routines. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4658b98517
commit
797fe5cbef
@ -340,7 +340,7 @@ void ath_tx_node_init(struct ath_softc *sc, struct ath_node *an);
|
|||||||
void ath_tx_node_cleanup(struct ath_softc *sc, struct ath_node *an);
|
void ath_tx_node_cleanup(struct ath_softc *sc, struct ath_node *an);
|
||||||
void ath_txq_schedule(struct ath_softc *sc, struct ath_txq *txq);
|
void ath_txq_schedule(struct ath_softc *sc, struct ath_txq *txq);
|
||||||
int ath_tx_init(struct ath_softc *sc, int nbufs);
|
int ath_tx_init(struct ath_softc *sc, int nbufs);
|
||||||
int ath_tx_cleanup(struct ath_softc *sc);
|
void ath_tx_cleanup(struct ath_softc *sc);
|
||||||
struct ath_txq *ath_test_get_txq(struct ath_softc *sc, struct sk_buff *skb);
|
struct ath_txq *ath_test_get_txq(struct ath_softc *sc, struct sk_buff *skb);
|
||||||
int ath_txq_update(struct ath_softc *sc, int qnum,
|
int ath_txq_update(struct ath_softc *sc, int qnum,
|
||||||
struct ath9k_tx_queue_info *q);
|
struct ath9k_tx_queue_info *q);
|
||||||
|
@ -283,14 +283,12 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
|
|||||||
struct ath_buf *bf;
|
struct ath_buf *bf;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
do {
|
|
||||||
spin_lock_init(&sc->rx.rxflushlock);
|
spin_lock_init(&sc->rx.rxflushlock);
|
||||||
sc->sc_flags &= ~SC_OP_RXFLUSH;
|
sc->sc_flags &= ~SC_OP_RXFLUSH;
|
||||||
spin_lock_init(&sc->rx.rxbuflock);
|
spin_lock_init(&sc->rx.rxbuflock);
|
||||||
|
|
||||||
sc->rx.bufsize = roundup(IEEE80211_MAX_MPDU_LEN,
|
sc->rx.bufsize = roundup(IEEE80211_MAX_MPDU_LEN,
|
||||||
min(sc->cachelsz,
|
min(sc->cachelsz, (u16)64));
|
||||||
(u16)64));
|
|
||||||
|
|
||||||
DPRINTF(sc, ATH_DBG_CONFIG, "cachelsz %u rxbufsize %u\n",
|
DPRINTF(sc, ATH_DBG_CONFIG, "cachelsz %u rxbufsize %u\n",
|
||||||
sc->cachelsz, sc->rx.bufsize);
|
sc->cachelsz, sc->rx.bufsize);
|
||||||
@ -302,14 +300,14 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
|
|||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
DPRINTF(sc, ATH_DBG_FATAL,
|
DPRINTF(sc, ATH_DBG_FATAL,
|
||||||
"failed to allocate rx descriptors: %d\n", error);
|
"failed to allocate rx descriptors: %d\n", error);
|
||||||
break;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
list_for_each_entry(bf, &sc->rx.rxbuf, list) {
|
list_for_each_entry(bf, &sc->rx.rxbuf, list) {
|
||||||
skb = ath_rxbuf_alloc(sc, sc->rx.bufsize, GFP_KERNEL);
|
skb = ath_rxbuf_alloc(sc, sc->rx.bufsize, GFP_KERNEL);
|
||||||
if (skb == NULL) {
|
if (skb == NULL) {
|
||||||
error = -ENOMEM;
|
error = -ENOMEM;
|
||||||
break;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
bf->bf_mpdu = skb;
|
bf->bf_mpdu = skb;
|
||||||
@ -323,14 +321,13 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
|
|||||||
DPRINTF(sc, ATH_DBG_FATAL,
|
DPRINTF(sc, ATH_DBG_FATAL,
|
||||||
"dma_mapping_error() on RX init\n");
|
"dma_mapping_error() on RX init\n");
|
||||||
error = -ENOMEM;
|
error = -ENOMEM;
|
||||||
break;
|
goto err;
|
||||||
}
|
}
|
||||||
bf->bf_dmacontext = bf->bf_buf_addr;
|
bf->bf_dmacontext = bf->bf_buf_addr;
|
||||||
}
|
}
|
||||||
sc->rx.rxlink = NULL;
|
sc->rx.rxlink = NULL;
|
||||||
|
|
||||||
} while (0);
|
err:
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
ath_rx_cleanup(sc);
|
ath_rx_cleanup(sc);
|
||||||
|
|
||||||
@ -345,10 +342,8 @@ void ath_rx_cleanup(struct ath_softc *sc)
|
|||||||
list_for_each_entry(bf, &sc->rx.rxbuf, list) {
|
list_for_each_entry(bf, &sc->rx.rxbuf, list) {
|
||||||
skb = bf->bf_mpdu;
|
skb = bf->bf_mpdu;
|
||||||
if (skb) {
|
if (skb) {
|
||||||
dma_unmap_single(sc->dev,
|
dma_unmap_single(sc->dev, bf->bf_buf_addr,
|
||||||
bf->bf_buf_addr,
|
sc->rx.bufsize, DMA_FROM_DEVICE);
|
||||||
sc->rx.bufsize,
|
|
||||||
DMA_FROM_DEVICE);
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2047,44 +2047,38 @@ int ath_tx_init(struct ath_softc *sc, int nbufs)
|
|||||||
{
|
{
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
do {
|
|
||||||
spin_lock_init(&sc->tx.txbuflock);
|
spin_lock_init(&sc->tx.txbuflock);
|
||||||
|
|
||||||
error = ath_descdma_setup(sc, &sc->tx.txdma, &sc->tx.txbuf,
|
error = ath_descdma_setup(sc, &sc->tx.txdma, &sc->tx.txbuf,
|
||||||
"tx", nbufs, 1);
|
"tx", nbufs, 1);
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
DPRINTF(sc, ATH_DBG_FATAL,
|
DPRINTF(sc, ATH_DBG_FATAL,
|
||||||
"Failed to allocate tx descriptors: %d\n",
|
"Failed to allocate tx descriptors: %d\n", error);
|
||||||
error);
|
goto err;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
error = ath_descdma_setup(sc, &sc->beacon.bdma, &sc->beacon.bbuf,
|
error = ath_descdma_setup(sc, &sc->beacon.bdma, &sc->beacon.bbuf,
|
||||||
"beacon", ATH_BCBUF, 1);
|
"beacon", ATH_BCBUF, 1);
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
DPRINTF(sc, ATH_DBG_FATAL,
|
DPRINTF(sc, ATH_DBG_FATAL,
|
||||||
"Failed to allocate beacon descriptors: %d\n",
|
"Failed to allocate beacon descriptors: %d\n", error);
|
||||||
error);
|
goto err;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (0);
|
err:
|
||||||
|
|
||||||
if (error != 0)
|
if (error != 0)
|
||||||
ath_tx_cleanup(sc);
|
ath_tx_cleanup(sc);
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ath_tx_cleanup(struct ath_softc *sc)
|
void ath_tx_cleanup(struct ath_softc *sc)
|
||||||
{
|
{
|
||||||
if (sc->beacon.bdma.dd_desc_len != 0)
|
if (sc->beacon.bdma.dd_desc_len != 0)
|
||||||
ath_descdma_cleanup(sc, &sc->beacon.bdma, &sc->beacon.bbuf);
|
ath_descdma_cleanup(sc, &sc->beacon.bdma, &sc->beacon.bbuf);
|
||||||
|
|
||||||
if (sc->tx.txdma.dd_desc_len != 0)
|
if (sc->tx.txdma.dd_desc_len != 0)
|
||||||
ath_descdma_cleanup(sc, &sc->tx.txdma, &sc->tx.txbuf);
|
ath_descdma_cleanup(sc, &sc->tx.txdma, &sc->tx.txbuf);
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ath_tx_node_init(struct ath_softc *sc, struct ath_node *an)
|
void ath_tx_node_init(struct ath_softc *sc, struct ath_node *an)
|
||||||
|
Loading…
Reference in New Issue
Block a user