alistair23-linux/drivers/staging/vt6655
Malcolm Priestley b5745290af staging: vt6655: vnt_tx_packet Fix corrupted tx packets.
Move PSTxDesc->m_td1TD1 to inside spin locks.

if m_td1TD1.byTCR has TCR_EDP and TCR_STP are set, the interrupt handler will
try and complete the buffer before it is completed. Usually on the tail
of a burst of tx packets.

This results in a partially completed packet being transmitted or worse
sitll dead lock when skb is freed by the interrupt handler.

Set head_td->m_td1TD1.byTCR to 0 in first lock of vnt_tx_packet to stop
interrupt handler completing the buffer. Move Set TSR1 & ReqCount in
s_cbFillTxBufHead to the second lock.

cbReqCount is carried to the second lock in pTDInfo->dwReqCount without
the padding removed.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-12 19:49:47 -08:00
..
baseband.c staging: vt6655: BBbReadEmbedded replace __iomem with vnt_private 2014-11-07 09:23:29 -08:00
baseband.h staging: vt6655: BBbReadEmbedded replace __iomem with vnt_private 2014-11-07 09:23:29 -08:00
card.c staging: vt6655: card.c move __iomem into functions. 2014-11-26 13:37:24 -08:00
card.h staging: vt6655: card.c move __iomem into functions. 2014-11-26 13:37:24 -08:00
channel.c staging: vt6655: rf remove __iomem *dwIoBase from functions 2014-11-26 13:37:24 -08:00
channel.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
desc.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
device.h staging: vt6655: always keep abyCurrentNetAddr aligned to 2 2014-11-26 13:36:54 -08:00
device_cfg.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
device_main.c staging: vt6655: vnt_tx_packet Fix corrupted tx packets. 2015-01-12 19:49:47 -08:00
dpc.c
dpc.h
Kconfig
key.c staging: vt6655: key.c remove dead functions 2014-10-29 13:34:44 -07:00
key.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
mac.c staging: vt6655: remove duplicate MACvSetPacketFilter 2014-12-02 16:35:10 -08:00
mac.h staging: vt6655: remove duplicate MACvSetPacketFilter 2014-12-02 16:35:10 -08:00
Makefile staging: vt6655: dead code remove wctl.c/h 2014-10-29 13:34:45 -07:00
mib.c staging: vt6655: mib remove unused functions and structure members 2014-10-29 13:34:44 -07:00
mib.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
power.c staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
power.h
rf.c staging: vt6655: rf.c clean up function comments 2014-11-26 13:37:24 -08:00
rf.h staging: vt6655: IFRFbWriteEmbedded replace __iomem with vnt_private 2014-11-26 13:37:24 -08:00
rxtx.c staging: vt6655: vnt_tx_packet Fix corrupted tx packets. 2015-01-12 19:49:47 -08:00
rxtx.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
srom.c staging: vt6655: srom remove dead functions 2014-12-02 16:35:10 -08:00
srom.h staging: vt6655: remove unused typedef struct tagSSromReg 2014-12-02 16:35:10 -08:00
test
tmacro.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00
TODO
upc.h staging: vt6655: dead code remove header type.h 2014-10-29 13:34:47 -07:00