Commit 85385764 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: remove macro usage for sk_buff release



PKTFREE macro calls osl_pktfree. This function has been renamed to
pkt_buf_free_skb as it comprises of functionality additional to
dev_kfree_skb(_any) function and to get rid of the OSL concept in
this driver.

Reviewed-by: default avatarBrett Rudley <brudley@broadcom.com>
Reviewed-by: default avatarDowan Kim <dowan@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f09e0232
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1057,7 +1057,7 @@ sdioh_request_buffer(sdioh_info_t *sd, uint pio_dma, uint fix_inc, uint write,
		if (!write)
			bcopy(mypkt->data, buffer, buflen_u);

		PKTFREE(sd->osh, mypkt, write ? true : false);
		pkt_buf_free_skb(sd->osh, mypkt, write ? true : false);
	} else if (((u32) (pkt->data) & DMA_ALIGN_MASK) != 0) {
		/* Case 2: We have a packet, but it is unaligned. */

@@ -1084,7 +1084,7 @@ sdioh_request_buffer(sdioh_info_t *sd, uint pio_dma, uint fix_inc, uint write,
		if (!write)
			bcopy(mypkt->data, pkt->data, mypkt->len);

		PKTFREE(sd->osh, mypkt, write ? true : false);
		pkt_buf_free_skb(sd->osh, mypkt, write ? true : false);
	} else {		/* case 3: We have a packet and
				 it is aligned. */
		sd_data(("%s: Aligned %s Packet, direct DMA\n",
+1 −1
Original line number Diff line number Diff line
@@ -368,7 +368,7 @@ bool dhd_prec_enq(dhd_pub_t *dhdp, struct pktq *q, struct sk_buff *pkt,
			ASSERT(p);
		}

		PKTFREE(dhdp->osh, p, true);
		pkt_buf_free_skb(dhdp->osh, p, true);
	}

	/* Enqueue */
+25 −25
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@
 * bufpool was present for gspi bus.
 */
#define PKTFREE2()		if ((bus->bus != SPI_BUS) || bus->usebufpool) \
					PKTFREE(bus->dhd->osh, pkt, false);
							pkt_buf_free_skb(bus->dhd->osh, pkt, false);
DHD_SPINWAIT_SLEEP_INIT(sdioh_spinwait_sleep);
extern int dhdcdc_set_ioctl(dhd_pub_t *dhd, int ifidx, uint cmd, void *buf,
			    uint len);
@@ -948,7 +948,7 @@ static int dhdsdio_txpkt(dhd_bus_t *bus, struct sk_buff *pkt, uint chan,
			PKTALIGN(osh, new, pkt->len, DHD_SDALIGN);
			bcopy(pkt->data, new->data, pkt->len);
			if (free_pkt)
				PKTFREE(osh, pkt, true);
				pkt_buf_free_skb(osh, pkt, true);
			/* free the pkt if canned one is not used */
			free_pkt = true;
			pkt = new;
@@ -1061,7 +1061,7 @@ static int dhdsdio_txpkt(dhd_bus_t *bus, struct sk_buff *pkt, uint chan,
	dhd_os_sdlock(bus->dhd);

	if (free_pkt)
		PKTFREE(osh, pkt, true);
		pkt_buf_free_skb(osh, pkt, true);

	return ret;
}
@@ -1112,7 +1112,7 @@ int dhd_bus_txdata(struct dhd_bus *bus, struct sk_buff *pkt)
		if (dhd_prec_enq(bus->dhd, &bus->txq, pkt, prec) == false) {
			skb_pull(pkt, SDPCM_HDRLEN);
			dhd_txcomplete(bus->dhd, pkt, false);
			PKTFREE(osh, pkt, true);
			pkt_buf_free_skb(osh, pkt, true);
			DHD_ERROR(("%s: out of bus->txq !!!\n", __func__));
			ret = BCME_NORESOURCE;
		} else {
@@ -2882,10 +2882,10 @@ void dhd_bus_stop(struct dhd_bus *bus, bool enforce_mutex)

	/* Clear any held glomming stuff */
	if (bus->glomd)
		PKTFREE(osh, bus->glomd, false);
		pkt_buf_free_skb(osh, bus->glomd, false);

	if (bus->glom)
		PKTFREE(osh, bus->glom, false);
		pkt_buf_free_skb(osh, bus->glom, false);

	bus->glom = bus->glomd = NULL;

@@ -3276,13 +3276,13 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
			pfirst = pnext = NULL;
		} else {
			if (pfirst)
				PKTFREE(osh, pfirst, false);
				pkt_buf_free_skb(osh, pfirst, false);
			bus->glom = NULL;
			num = 0;
		}

		/* Done with descriptor packet */
		PKTFREE(osh, bus->glomd, false);
		pkt_buf_free_skb(osh, bus->glomd, false);
		bus->glomd = NULL;
		bus->nextlen = 0;

@@ -3351,7 +3351,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
				bus->glomerr = 0;
				dhdsdio_rxfail(bus, true, false);
				dhd_os_sdlock_rxq(bus->dhd);
				PKTFREE(osh, bus->glom, false);
				pkt_buf_free_skb(osh, bus->glom, false);
				dhd_os_sdunlock_rxq(bus->dhd);
				bus->rxglomfail++;
				bus->glom = NULL;
@@ -3480,7 +3480,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
				bus->glomerr = 0;
				dhdsdio_rxfail(bus, true, false);
				dhd_os_sdlock_rxq(bus->dhd);
				PKTFREE(osh, bus->glom, false);
				pkt_buf_free_skb(osh, bus->glom, false);
				dhd_os_sdunlock_rxq(bus->dhd);
				bus->rxglomfail++;
				bus->glom = NULL;
@@ -3528,7 +3528,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
			skb_pull(pfirst, doff);

			if (pfirst->len == 0) {
				PKTFREE(bus->dhd->osh, pfirst, false);
				pkt_buf_free_skb(bus->dhd->osh, pfirst, false);
				if (plast) {
					plast->next = pnext;
				} else {
@@ -3541,7 +3541,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
				DHD_ERROR(("%s: rx protocol error\n",
					   __func__));
				bus->dhd->rx_errors++;
				PKTFREE(osh, pfirst, false);
				pkt_buf_free_skb(osh, pfirst, false);
				if (plast) {
					plast->next = pnext;
				} else {
@@ -3753,7 +3753,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
				if (sdret < 0) {
					DHD_ERROR(("%s (nextlen): read %d bytes failed: %d\n",
						__func__, rdlen, sdret));
					PKTFREE(bus->dhd->osh, pkt, false);
					pkt_buf_free_skb(bus->dhd->osh, pkt, false);
					bus->dhd->rx_errors++;
					dhd_os_sdunlock_rxq(bus->dhd);
					/* Force retry w/normal header read.
@@ -3901,7 +3901,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
							     doff);
					if (bus->usebufpool) {
						dhd_os_sdlock_rxq(bus->dhd);
						PKTFREE(bus->dhd->osh, pkt,
						pkt_buf_free_skb(bus->dhd->osh, pkt,
							false);
						dhd_os_sdunlock_rxq(bus->dhd);
					}
@@ -4127,7 +4127,7 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
				       ? "data" : "test")),
				   sdret));
			dhd_os_sdlock_rxq(bus->dhd);
			PKTFREE(bus->dhd->osh, pkt, false);
			pkt_buf_free_skb(bus->dhd->osh, pkt, false);
			dhd_os_sdunlock_rxq(bus->dhd);
			bus->dhd->rx_errors++;
			dhdsdio_rxfail(bus, true, RETRYCHAN(chan));
@@ -4180,13 +4180,13 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)

		if (pkt->len == 0) {
			dhd_os_sdlock_rxq(bus->dhd);
			PKTFREE(bus->dhd->osh, pkt, false);
			pkt_buf_free_skb(bus->dhd->osh, pkt, false);
			dhd_os_sdunlock_rxq(bus->dhd);
			continue;
		} else if (dhd_prot_hdrpull(bus->dhd, &ifidx, pkt) != 0) {
			DHD_ERROR(("%s: rx protocol error\n", __func__));
			dhd_os_sdlock_rxq(bus->dhd);
			PKTFREE(bus->dhd->osh, pkt, false);
			pkt_buf_free_skb(bus->dhd->osh, pkt, false);
			dhd_os_sdunlock_rxq(bus->dhd);
			bus->dhd->rx_errors++;
			continue;
@@ -4694,7 +4694,7 @@ static void dhdsdio_pktgen(dhd_bus_t *bus)
		default:
			DHD_ERROR(("Unrecognized pktgen mode %d\n",
				   bus->pktgen_mode));
			PKTFREE(osh, pkt, true);
			pkt_buf_free_skb(osh, pkt, true);
			bus->pktgen_count = 0;
			return;
		}
@@ -4779,7 +4779,7 @@ static void dhdsdio_testrcv(dhd_bus_t *bus, struct sk_buff *pkt, uint seq)
	if (pktlen < SDPCM_TEST_HDRLEN) {
		DHD_ERROR(("dhdsdio_restrcv: toss runt frame, pktlen %d\n",
			   pktlen));
		PKTFREE(osh, pkt, false);
		pkt_buf_free_skb(osh, pkt, false);
		return;
	}

@@ -4797,7 +4797,7 @@ static void dhdsdio_testrcv(dhd_bus_t *bus, struct sk_buff *pkt, uint seq)
			DHD_ERROR(("dhdsdio_testrcv: frame length mismatch, "
				"pktlen %d seq %d" " cmd %d extra %d len %d\n",
				pktlen, seq, cmd, extra, len));
			PKTFREE(osh, pkt, false);
			pkt_buf_free_skb(osh, pkt, false);
			return;
		}
	}
@@ -4812,14 +4812,14 @@ static void dhdsdio_testrcv(dhd_bus_t *bus, struct sk_buff *pkt, uint seq)
			bus->pktgen_sent++;
		} else {
			bus->pktgen_fail++;
			PKTFREE(osh, pkt, false);
			pkt_buf_free_skb(osh, pkt, false);
		}
		bus->pktgen_rcvd++;
		break;

	case SDPCM_TEST_ECHORSP:
		if (bus->ext_loop) {
			PKTFREE(osh, pkt, false);
			pkt_buf_free_skb(osh, pkt, false);
			bus->pktgen_rcvd++;
			break;
		}
@@ -4832,12 +4832,12 @@ static void dhdsdio_testrcv(dhd_bus_t *bus, struct sk_buff *pkt, uint seq)
				break;
			}
		}
		PKTFREE(osh, pkt, false);
		pkt_buf_free_skb(osh, pkt, false);
		bus->pktgen_rcvd++;
		break;

	case SDPCM_TEST_DISCARD:
		PKTFREE(osh, pkt, false);
		pkt_buf_free_skb(osh, pkt, false);
		bus->pktgen_rcvd++;
		break;

@@ -4847,7 +4847,7 @@ static void dhdsdio_testrcv(dhd_bus_t *bus, struct sk_buff *pkt, uint seq)
		DHD_INFO(("dhdsdio_testrcv: unsupported or unknown command, "
			"pktlen %d seq %d" " cmd %d extra %d len %d\n",
			pktlen, seq, cmd, extra, len));
		PKTFREE(osh, pkt, false);
		pkt_buf_free_skb(osh, pkt, false);
		break;
	}

+1 −3
Original line number Diff line number Diff line
@@ -208,9 +208,7 @@ extern void osl_dma_unmap(struct osl_info *osh, uint pa, uint size,
#define	bcopy(src, dst, len)	memcpy((dst), (src), (len))

/* packet primitives */
#define	PKTFREE(osh, skb, send)	osl_pktfree((osh), (skb), (send))

extern struct sk_buff *pkt_buf_get_skb(struct osl_info *osh, uint len);
extern void osl_pktfree(struct osl_info *osh, void *skb, bool send);
extern void pkt_buf_free_skb(struct osl_info *osh, struct sk_buff *skb, bool send);

#endif /* _osl_h_ */
+1 −1
Original line number Diff line number Diff line
@@ -3336,7 +3336,7 @@ static bool wlc_bmac_txstatus_corerev4(wlc_hw_info_t *wlc_hw)

		fatal = wlc_bmac_dotxstatus(wlc_hw, txs, 0);

		PKTFREE(osh, status_p, false);
		pkt_buf_free_skb(osh, status_p, false);
	}

	if (fatal)
Loading