| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: ISC |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2013 Broadcom Corporation |
|---|
| 3 | | - * |
|---|
| 4 | | - * Permission to use, copy, modify, and/or distribute this software for any |
|---|
| 5 | | - * purpose with or without fee is hereby granted, provided that the above |
|---|
| 6 | | - * copyright notice and this permission notice appear in all copies. |
|---|
| 7 | | - * |
|---|
| 8 | | - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|---|
| 9 | | - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|---|
| 10 | | - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY |
|---|
| 11 | | - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|---|
| 12 | | - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION |
|---|
| 13 | | - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN |
|---|
| 14 | | - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|---|
| 15 | 4 | */ |
|---|
| 16 | 5 | #ifndef BRCMFMAC_PROTO_H |
|---|
| 17 | 6 | #define BRCMFMAC_PROTO_H |
|---|
| .. | .. |
|---|
| 43 | 32 | u8 peer[ETH_ALEN]); |
|---|
| 44 | 33 | void (*add_tdls_peer)(struct brcmf_pub *drvr, int ifidx, |
|---|
| 45 | 34 | u8 peer[ETH_ALEN]); |
|---|
| 46 | | - void (*rxreorder)(struct brcmf_if *ifp, struct sk_buff *skb); |
|---|
| 35 | + void (*rxreorder)(struct brcmf_if *ifp, struct sk_buff *skb, bool inirq); |
|---|
| 47 | 36 | void (*add_if)(struct brcmf_if *ifp); |
|---|
| 48 | 37 | void (*del_if)(struct brcmf_if *ifp); |
|---|
| 49 | 38 | void (*reset_if)(struct brcmf_if *ifp); |
|---|
| .. | .. |
|---|
| 54 | 43 | |
|---|
| 55 | 44 | |
|---|
| 56 | 45 | int brcmf_proto_attach(struct brcmf_pub *drvr); |
|---|
| 57 | | -void brcmf_proto_detach_pre_delif(struct brcmf_pub *drvr); |
|---|
| 58 | | -void brcmf_proto_detach_post_delif(struct brcmf_pub *drvr); |
|---|
| 46 | +void brcmf_proto_detach(struct brcmf_pub *drvr); |
|---|
| 59 | 47 | |
|---|
| 60 | 48 | static inline int brcmf_proto_hdrpull(struct brcmf_pub *drvr, bool do_fws, |
|---|
| 61 | 49 | struct sk_buff *skb, |
|---|
| .. | .. |
|---|
| 121 | 109 | } |
|---|
| 122 | 110 | |
|---|
| 123 | 111 | static inline void |
|---|
| 124 | | -brcmf_proto_rxreorder(struct brcmf_if *ifp, struct sk_buff *skb) |
|---|
| 112 | +brcmf_proto_rxreorder(struct brcmf_if *ifp, struct sk_buff *skb, bool inirq) |
|---|
| 125 | 113 | { |
|---|
| 126 | | - ifp->drvr->proto->rxreorder(ifp, skb); |
|---|
| 114 | + ifp->drvr->proto->rxreorder(ifp, skb, inirq); |
|---|
| 127 | 115 | } |
|---|
| 128 | 116 | |
|---|
| 129 | 117 | static inline void |
|---|