Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 369629
b: refs/heads/master
c: b75c1a3
h: refs/heads/master
i:
  369627: fcdc658
v: v3
  • Loading branch information
Arend van Spriel authored and John W. Linville committed Apr 22, 2013
1 parent 93e94a0 commit b075992
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 130e380b4470d5c704b492a2beb631d84c93bf09
refs/heads/master: b75c1a301b7d4e55f2354d8a7210a17d8402a218
17 changes: 14 additions & 3 deletions trunk/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
Original file line number Diff line number Diff line change
Expand Up @@ -714,11 +714,21 @@ brcmf_fws_find_mac_desc(struct brcmf_fws_info *fws, struct brcmf_if *ifp,
return entry;
}

static bool brcmf_fws_mac_desc_closed(struct brcmf_fws_mac_descriptor *entry,
static bool brcmf_fws_mac_desc_closed(struct brcmf_fws_info *fws,
struct brcmf_fws_mac_descriptor *entry,
int fifo)
{
struct brcmf_fws_mac_descriptor *if_entry;
bool closed;

/* for unique destination entries the related interface
* may be closed.
*/
if (entry->mac_handle) {
if_entry = &fws->desc.iface[entry->interface_id];
if (if_entry->state == BRCMF_FWS_STATE_CLOSE)
return true;
}
/* an entry is closed when the state is closed and
* the firmware did not request anything.
*/
Expand Down Expand Up @@ -1079,7 +1089,8 @@ static struct sk_buff *brcmf_fws_deq(struct brcmf_fws_info *fws, int fifo)

for (i = 0; i < num_nodes; i++) {
entry = &table[(node_pos + i) % num_nodes];
if (!entry->occupied || brcmf_fws_mac_desc_closed(entry, fifo))
if (!entry->occupied ||
brcmf_fws_mac_desc_closed(fws, entry, fifo))
continue;

if (entry->suppressed)
Expand Down Expand Up @@ -1753,7 +1764,7 @@ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)

brcmf_fws_lock(drvr, flags);
if (skcb->mac->suppressed ||
brcmf_fws_mac_desc_closed(skcb->mac, fifo) ||
brcmf_fws_mac_desc_closed(drvr->fws, skcb->mac, fifo) ||
brcmu_pktq_mlen(&skcb->mac->psq, 3 << (fifo * 2)) ||
(!multicast &&
brcmf_fws_consume_credit(drvr->fws, fifo, skb) < 0)) {
Expand Down

0 comments on commit b075992

Please sign in to comment.