FreeBSD/src c2a5a6c (r341990)sys/dev/bwn if_bwn.c

Fix a possible mbuf double free in bwn_dma_tx_start().

If bus_dmamap_load_mbuf() fails following a defrag, the caller of
bwn_dma_tx_start() would free the original mbuf after m_defrag() had
already done so.  Fix this by returning the defragged mbuf to the
caller instead.  Update bwn_pio_tx_start() similarly for consistency.

Reported by:    Ilja Van Sprundel <ivansprundel at ioactive.com>
Reviewed by:    landonf
Tested by:      landonf
MFC after:      3 days
admbug:         820
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D18342
DeltaFile
+17-11sys/dev/bwn/if_bwn.c
+17-111 files

UnifiedSplitRaw