Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts: drivers/net/wireless/ath/ath9k/init.c
This commit is contained in:
@@ -726,9 +726,9 @@ static int efuse_pg_packet_read(struct ieee80211_hw *hw, u8 offset, u8 *data)
|
||||
}
|
||||
|
||||
static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
u8 efuse_data, u8 offset, int *bcontinual,
|
||||
u8 *write_state, struct pgpkt_struct target_pkt,
|
||||
int *repeat_times, int *bresult, u8 word_en)
|
||||
u8 efuse_data, u8 offset, int *bcontinual,
|
||||
u8 *write_state, struct pgpkt_struct *target_pkt,
|
||||
int *repeat_times, int *bresult, u8 word_en)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct pgpkt_struct tmp_pkt;
|
||||
@@ -744,8 +744,8 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
tmp_pkt.word_en = tmp_header & 0x0F;
|
||||
tmp_word_cnts = efuse_calculate_word_cnts(tmp_pkt.word_en);
|
||||
|
||||
if (tmp_pkt.offset != target_pkt.offset) {
|
||||
efuse_addr = efuse_addr + (tmp_word_cnts * 2) + 1;
|
||||
if (tmp_pkt.offset != target_pkt->offset) {
|
||||
*efuse_addr = *efuse_addr + (tmp_word_cnts * 2) + 1;
|
||||
*write_state = PG_STATE_HEADER;
|
||||
} else {
|
||||
for (tmpindex = 0; tmpindex < (tmp_word_cnts * 2); tmpindex++) {
|
||||
@@ -756,23 +756,23 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
}
|
||||
|
||||
if (bdataempty == false) {
|
||||
efuse_addr = efuse_addr + (tmp_word_cnts * 2) + 1;
|
||||
*efuse_addr = *efuse_addr + (tmp_word_cnts * 2) + 1;
|
||||
*write_state = PG_STATE_HEADER;
|
||||
} else {
|
||||
match_word_en = 0x0F;
|
||||
if (!((target_pkt.word_en & BIT(0)) |
|
||||
if (!((target_pkt->word_en & BIT(0)) |
|
||||
(tmp_pkt.word_en & BIT(0))))
|
||||
match_word_en &= (~BIT(0));
|
||||
|
||||
if (!((target_pkt.word_en & BIT(1)) |
|
||||
if (!((target_pkt->word_en & BIT(1)) |
|
||||
(tmp_pkt.word_en & BIT(1))))
|
||||
match_word_en &= (~BIT(1));
|
||||
|
||||
if (!((target_pkt.word_en & BIT(2)) |
|
||||
if (!((target_pkt->word_en & BIT(2)) |
|
||||
(tmp_pkt.word_en & BIT(2))))
|
||||
match_word_en &= (~BIT(2));
|
||||
|
||||
if (!((target_pkt.word_en & BIT(3)) |
|
||||
if (!((target_pkt->word_en & BIT(3)) |
|
||||
(tmp_pkt.word_en & BIT(3))))
|
||||
match_word_en &= (~BIT(3));
|
||||
|
||||
@@ -780,7 +780,7 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
badworden = efuse_word_enable_data_write(
|
||||
hw, *efuse_addr + 1,
|
||||
tmp_pkt.word_en,
|
||||
target_pkt.data);
|
||||
target_pkt->data);
|
||||
|
||||
if (0x0F != (badworden & 0x0F)) {
|
||||
u8 reorg_offset = offset;
|
||||
@@ -791,26 +791,26 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
}
|
||||
|
||||
tmp_word_en = 0x0F;
|
||||
if ((target_pkt.word_en & BIT(0)) ^
|
||||
if ((target_pkt->word_en & BIT(0)) ^
|
||||
(match_word_en & BIT(0)))
|
||||
tmp_word_en &= (~BIT(0));
|
||||
|
||||
if ((target_pkt.word_en & BIT(1)) ^
|
||||
if ((target_pkt->word_en & BIT(1)) ^
|
||||
(match_word_en & BIT(1)))
|
||||
tmp_word_en &= (~BIT(1));
|
||||
|
||||
if ((target_pkt.word_en & BIT(2)) ^
|
||||
if ((target_pkt->word_en & BIT(2)) ^
|
||||
(match_word_en & BIT(2)))
|
||||
tmp_word_en &= (~BIT(2));
|
||||
|
||||
if ((target_pkt.word_en & BIT(3)) ^
|
||||
if ((target_pkt->word_en & BIT(3)) ^
|
||||
(match_word_en & BIT(3)))
|
||||
tmp_word_en &= (~BIT(3));
|
||||
|
||||
if ((tmp_word_en & 0x0F) != 0x0F) {
|
||||
*efuse_addr = efuse_get_current_size(hw);
|
||||
target_pkt.offset = offset;
|
||||
target_pkt.word_en = tmp_word_en;
|
||||
target_pkt->offset = offset;
|
||||
target_pkt->word_en = tmp_word_en;
|
||||
} else
|
||||
*bcontinual = false;
|
||||
*write_state = PG_STATE_HEADER;
|
||||
@@ -821,8 +821,8 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
||||
}
|
||||
} else {
|
||||
*efuse_addr += (2 * tmp_word_cnts) + 1;
|
||||
target_pkt.offset = offset;
|
||||
target_pkt.word_en = word_en;
|
||||
target_pkt->offset = offset;
|
||||
target_pkt->word_en = word_en;
|
||||
*write_state = PG_STATE_HEADER;
|
||||
}
|
||||
}
|
||||
@@ -938,7 +938,7 @@ static int efuse_pg_packet_write(struct ieee80211_hw *hw,
|
||||
efuse_write_data_case1(hw, &efuse_addr,
|
||||
efuse_data, offset,
|
||||
&bcontinual,
|
||||
&write_state, target_pkt,
|
||||
&write_state, &target_pkt,
|
||||
&repeat_times, &bresult,
|
||||
word_en);
|
||||
else
|
||||
|
@@ -619,6 +619,13 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
||||
struct sk_buff *uskb = NULL;
|
||||
u8 *pdata;
|
||||
uskb = dev_alloc_skb(skb->len + 128);
|
||||
if (!uskb) {
|
||||
RT_TRACE(rtlpriv,
|
||||
(COMP_INTR | COMP_RECV),
|
||||
DBG_EMERG,
|
||||
("can't alloc rx skb\n"));
|
||||
goto done;
|
||||
}
|
||||
memcpy(IEEE80211_SKB_RXCB(uskb),
|
||||
&rx_status,
|
||||
sizeof(rx_status));
|
||||
@@ -641,7 +648,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
||||
new_skb = dev_alloc_skb(rtlpci->rxbuffersize);
|
||||
if (unlikely(!new_skb)) {
|
||||
RT_TRACE(rtlpriv, (COMP_INTR | COMP_RECV),
|
||||
DBG_DMESG,
|
||||
DBG_EMERG,
|
||||
("can't alloc skb for rx\n"));
|
||||
goto done;
|
||||
}
|
||||
@@ -1066,9 +1073,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
|
||||
struct sk_buff *skb =
|
||||
dev_alloc_skb(rtlpci->rxbuffersize);
|
||||
u32 bufferaddress;
|
||||
entry = &rtlpci->rx_ring[rx_queue_idx].desc[i];
|
||||
if (!skb)
|
||||
return 0;
|
||||
entry = &rtlpci->rx_ring[rx_queue_idx].desc[i];
|
||||
|
||||
/*skb->dev = dev; */
|
||||
|
||||
|
Reference in New Issue
Block a user