Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6
This commit is contained in:
@@ -393,13 +393,13 @@ dma_addr_t map_descbuffer(struct b43legacy_dmaring *ring,
|
||||
dma_addr_t dmaaddr;
|
||||
|
||||
if (tx)
|
||||
dmaaddr = dma_map_single(ring->dev->dev->dma_dev,
|
||||
buf, len,
|
||||
DMA_TO_DEVICE);
|
||||
dmaaddr = ssb_dma_map_single(ring->dev->dev,
|
||||
buf, len,
|
||||
DMA_TO_DEVICE);
|
||||
else
|
||||
dmaaddr = dma_map_single(ring->dev->dev->dma_dev,
|
||||
buf, len,
|
||||
DMA_FROM_DEVICE);
|
||||
dmaaddr = ssb_dma_map_single(ring->dev->dev,
|
||||
buf, len,
|
||||
DMA_FROM_DEVICE);
|
||||
|
||||
return dmaaddr;
|
||||
}
|
||||
@@ -411,13 +411,13 @@ void unmap_descbuffer(struct b43legacy_dmaring *ring,
|
||||
int tx)
|
||||
{
|
||||
if (tx)
|
||||
dma_unmap_single(ring->dev->dev->dma_dev,
|
||||
addr, len,
|
||||
DMA_TO_DEVICE);
|
||||
ssb_dma_unmap_single(ring->dev->dev,
|
||||
addr, len,
|
||||
DMA_TO_DEVICE);
|
||||
else
|
||||
dma_unmap_single(ring->dev->dev->dma_dev,
|
||||
addr, len,
|
||||
DMA_FROM_DEVICE);
|
||||
ssb_dma_unmap_single(ring->dev->dev,
|
||||
addr, len,
|
||||
DMA_FROM_DEVICE);
|
||||
}
|
||||
|
||||
static inline
|
||||
@@ -427,8 +427,8 @@ void sync_descbuffer_for_cpu(struct b43legacy_dmaring *ring,
|
||||
{
|
||||
B43legacy_WARN_ON(ring->tx);
|
||||
|
||||
dma_sync_single_for_cpu(ring->dev->dev->dma_dev,
|
||||
addr, len, DMA_FROM_DEVICE);
|
||||
ssb_dma_sync_single_for_cpu(ring->dev->dev,
|
||||
addr, len, DMA_FROM_DEVICE);
|
||||
}
|
||||
|
||||
static inline
|
||||
@@ -438,8 +438,8 @@ void sync_descbuffer_for_device(struct b43legacy_dmaring *ring,
|
||||
{
|
||||
B43legacy_WARN_ON(ring->tx);
|
||||
|
||||
dma_sync_single_for_device(ring->dev->dev->dma_dev,
|
||||
addr, len, DMA_FROM_DEVICE);
|
||||
ssb_dma_sync_single_for_device(ring->dev->dev,
|
||||
addr, len, DMA_FROM_DEVICE);
|
||||
}
|
||||
|
||||
static inline
|
||||
@@ -458,10 +458,11 @@ void free_descriptor_buffer(struct b43legacy_dmaring *ring,
|
||||
|
||||
static int alloc_ringmemory(struct b43legacy_dmaring *ring)
|
||||
{
|
||||
struct device *dma_dev = ring->dev->dev->dma_dev;
|
||||
|
||||
ring->descbase = dma_alloc_coherent(dma_dev, B43legacy_DMA_RINGMEMSIZE,
|
||||
&(ring->dmabase), GFP_KERNEL);
|
||||
/* GFP flags must match the flags in free_ringmemory()! */
|
||||
ring->descbase = ssb_dma_alloc_consistent(ring->dev->dev,
|
||||
B43legacy_DMA_RINGMEMSIZE,
|
||||
&(ring->dmabase),
|
||||
GFP_KERNEL);
|
||||
if (!ring->descbase) {
|
||||
b43legacyerr(ring->dev->wl, "DMA ringmemory allocation"
|
||||
" failed\n");
|
||||
@@ -474,10 +475,8 @@ static int alloc_ringmemory(struct b43legacy_dmaring *ring)
|
||||
|
||||
static void free_ringmemory(struct b43legacy_dmaring *ring)
|
||||
{
|
||||
struct device *dma_dev = ring->dev->dev->dma_dev;
|
||||
|
||||
dma_free_coherent(dma_dev, B43legacy_DMA_RINGMEMSIZE,
|
||||
ring->descbase, ring->dmabase);
|
||||
ssb_dma_free_consistent(ring->dev->dev, B43legacy_DMA_RINGMEMSIZE,
|
||||
ring->descbase, ring->dmabase, GFP_KERNEL);
|
||||
}
|
||||
|
||||
/* Reset the RX DMA channel */
|
||||
@@ -589,7 +588,7 @@ static bool b43legacy_dma_mapping_error(struct b43legacy_dmaring *ring,
|
||||
size_t buffersize,
|
||||
bool dma_to_device)
|
||||
{
|
||||
if (unlikely(dma_mapping_error(addr)))
|
||||
if (unlikely(ssb_dma_mapping_error(ring->dev->dev, addr)))
|
||||
return 1;
|
||||
|
||||
switch (ring->type) {
|
||||
@@ -894,9 +893,9 @@ struct b43legacy_dmaring *b43legacy_setup_dmaring(struct b43legacy_wldev *dev,
|
||||
goto err_kfree_meta;
|
||||
|
||||
/* test for ability to dma to txhdr_cache */
|
||||
dma_test = dma_map_single(dev->dev->dma_dev, ring->txhdr_cache,
|
||||
sizeof(struct b43legacy_txhdr_fw3),
|
||||
DMA_TO_DEVICE);
|
||||
dma_test = ssb_dma_map_single(dev->dev, ring->txhdr_cache,
|
||||
sizeof(struct b43legacy_txhdr_fw3),
|
||||
DMA_TO_DEVICE);
|
||||
|
||||
if (b43legacy_dma_mapping_error(ring, dma_test,
|
||||
sizeof(struct b43legacy_txhdr_fw3), 1)) {
|
||||
@@ -908,7 +907,7 @@ struct b43legacy_dmaring *b43legacy_setup_dmaring(struct b43legacy_wldev *dev,
|
||||
if (!ring->txhdr_cache)
|
||||
goto err_kfree_meta;
|
||||
|
||||
dma_test = dma_map_single(dev->dev->dma_dev,
|
||||
dma_test = ssb_dma_map_single(dev->dev,
|
||||
ring->txhdr_cache,
|
||||
sizeof(struct b43legacy_txhdr_fw3),
|
||||
DMA_TO_DEVICE);
|
||||
@@ -918,9 +917,9 @@ struct b43legacy_dmaring *b43legacy_setup_dmaring(struct b43legacy_wldev *dev,
|
||||
goto err_kfree_txhdr_cache;
|
||||
}
|
||||
|
||||
dma_unmap_single(dev->dev->dma_dev,
|
||||
dma_test, sizeof(struct b43legacy_txhdr_fw3),
|
||||
DMA_TO_DEVICE);
|
||||
ssb_dma_unmap_single(dev->dev, dma_test,
|
||||
sizeof(struct b43legacy_txhdr_fw3),
|
||||
DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
ring->nr_slots = nr_slots;
|
||||
|
@@ -90,7 +90,7 @@ static int b43legacy_rfkill_soft_toggle(void *data, enum rfkill_state state)
|
||||
goto out_unlock;
|
||||
err = 0;
|
||||
switch (state) {
|
||||
case RFKILL_STATE_ON:
|
||||
case RFKILL_STATE_UNBLOCKED:
|
||||
if (!dev->radio_hw_enable) {
|
||||
/* No luck. We can't toggle the hardware RF-kill
|
||||
* button from software. */
|
||||
@@ -100,10 +100,14 @@ static int b43legacy_rfkill_soft_toggle(void *data, enum rfkill_state state)
|
||||
if (!dev->phy.radio_on)
|
||||
b43legacy_radio_turn_on(dev);
|
||||
break;
|
||||
case RFKILL_STATE_OFF:
|
||||
case RFKILL_STATE_SOFT_BLOCKED:
|
||||
if (dev->phy.radio_on)
|
||||
b43legacy_radio_turn_off(dev, 0);
|
||||
break;
|
||||
default:
|
||||
b43legacywarn(wl, "Received unexpected rfkill state %d.\n",
|
||||
state);
|
||||
break;
|
||||
}
|
||||
|
||||
out_unlock:
|
||||
|
@@ -442,7 +442,7 @@ void b43legacy_rx(struct b43legacy_wldev *dev,
|
||||
struct b43legacy_plcp_hdr6 *plcp;
|
||||
struct ieee80211_hdr *wlhdr;
|
||||
const struct b43legacy_rxhdr_fw3 *rxhdr = _rxhdr;
|
||||
u16 fctl;
|
||||
__le16 fctl;
|
||||
u16 phystat0;
|
||||
u16 phystat3;
|
||||
u16 chanstat;
|
||||
@@ -480,7 +480,7 @@ void b43legacy_rx(struct b43legacy_wldev *dev,
|
||||
goto drop;
|
||||
}
|
||||
wlhdr = (struct ieee80211_hdr *)(skb->data);
|
||||
fctl = le16_to_cpu(wlhdr->frame_control);
|
||||
fctl = wlhdr->frame_control;
|
||||
|
||||
if ((macstat & B43legacy_RX_MAC_DEC) &&
|
||||
!(macstat & B43legacy_RX_MAC_DECERR)) {
|
||||
@@ -499,11 +499,11 @@ void b43legacy_rx(struct b43legacy_wldev *dev,
|
||||
|
||||
if (dev->key[keyidx].algorithm != B43legacy_SEC_ALGO_NONE) {
|
||||
/* Remove PROTECTED flag to mark it as decrypted. */
|
||||
B43legacy_WARN_ON(!(fctl & IEEE80211_FCTL_PROTECTED));
|
||||
fctl &= ~IEEE80211_FCTL_PROTECTED;
|
||||
wlhdr->frame_control = cpu_to_le16(fctl);
|
||||
B43legacy_WARN_ON(!ieee80211_has_protected(fctl));
|
||||
fctl &= ~cpu_to_le16(IEEE80211_FCTL_PROTECTED);
|
||||
wlhdr->frame_control = fctl;
|
||||
|
||||
wlhdr_len = ieee80211_get_hdrlen(fctl);
|
||||
wlhdr_len = ieee80211_hdrlen(fctl);
|
||||
if (unlikely(skb->len < (wlhdr_len + 3))) {
|
||||
b43legacydbg(dev->wl, "RX: Packet size"
|
||||
" underrun3\n");
|
||||
@@ -556,9 +556,7 @@ void b43legacy_rx(struct b43legacy_wldev *dev,
|
||||
* of timestamp, i.e. about 65 milliseconds after the PHY received
|
||||
* the first symbol.
|
||||
*/
|
||||
if (((fctl & (IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE))
|
||||
== (IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON)) ||
|
||||
dev->wl->radiotap_enabled) {
|
||||
if (ieee80211_is_beacon(fctl) || dev->wl->radiotap_enabled) {
|
||||
u16 low_mactime_now;
|
||||
|
||||
b43legacy_tsf_read(dev, &status.mactime);
|
||||
|
Fai riferimento in un nuovo problema
Block a user