|
@@ -98,7 +98,6 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
|
98
|
98
|
{
|
99
|
99
|
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
100
|
100
|
struct io_buffer *iob;
|
101
|
|
- u32 *iob_addr = NULL;
|
102
|
101
|
struct ath_buf *bf;
|
103
|
102
|
int error = 0;
|
104
|
103
|
|
|
@@ -122,15 +121,14 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
|
122
|
121
|
}
|
123
|
122
|
|
124
|
123
|
list_for_each_entry(bf, &sc->rx.rxbuf, list) {
|
125
|
|
- iob = ath_rxbuf_alloc(common, common->rx_bufsize,
|
126
|
|
- iob_addr);
|
|
124
|
+ iob = alloc_iob_raw ( common->rx_bufsize, common->cachelsz, 0 );
|
127
|
125
|
if (iob == NULL) {
|
128
|
126
|
error = -ENOMEM;
|
129
|
127
|
goto err;
|
130
|
128
|
}
|
131
|
129
|
|
132
|
130
|
bf->bf_mpdu = iob;
|
133
|
|
- bf->bf_buf_addr = *iob_addr;
|
|
131
|
+ bf->bf_buf_addr = virt_to_bus ( iob->data );
|
134
|
132
|
}
|
135
|
133
|
sc->rx.rxlink = NULL;
|
136
|
134
|
|
|
@@ -433,7 +431,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, int hp __unused)
|
433
|
431
|
{
|
434
|
432
|
struct ath_buf *bf;
|
435
|
433
|
struct io_buffer *iob = NULL, *requeue_iob;
|
436
|
|
- u32 *requeue_iob_addr = NULL;
|
437
|
434
|
struct ath_hw *ah = sc->sc_ah;
|
438
|
435
|
struct ath_common *common = ath9k_hw_common(ah);
|
439
|
436
|
/*
|
|
@@ -476,7 +473,8 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, int hp __unused)
|
476
|
473
|
|
477
|
474
|
/* Ensure we always have an iob to requeue once we are done
|
478
|
475
|
* processing the current buffer's iob */
|
479
|
|
- requeue_iob = ath_rxbuf_alloc(common, common->rx_bufsize, requeue_iob_addr);
|
|
476
|
+ requeue_iob = alloc_iob_raw ( common->rx_bufsize,
|
|
477
|
+ common->cachelsz, 0 );
|
480
|
478
|
|
481
|
479
|
/* If there is no memory we ignore the current RX'd frame,
|
482
|
480
|
* tell hardware it can give us a new frame using the old
|
|
@@ -491,7 +489,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, int hp __unused)
|
491
|
489
|
|
492
|
490
|
/* We will now give hardware our shiny new allocated iob */
|
493
|
491
|
bf->bf_mpdu = requeue_iob;
|
494
|
|
- bf->bf_buf_addr = *requeue_iob_addr;
|
|
492
|
+ bf->bf_buf_addr = virt_to_bus ( requeue_iob->data );
|
495
|
493
|
|
496
|
494
|
/*
|
497
|
495
|
* change the default rx antenna if rx diversity chooses the
|