siano: make it work again with CONFIG_VMAP_STACK
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 14 Feb 2017 19:47:57 +0000 (17:47 -0200)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:18:50 +0000 (02:18 +0000)
commitf606625da3b0a360a61e730a3dd85a0c576ebb3a
treeee1365155b6ffac51d23d719ef90a86c88c5e237
parent382299a020add34cc75ac501bbcb655195c123b8
siano: make it work again with CONFIG_VMAP_STACK

commit f9c85ee67164b37f9296eab3b754e543e4e96a1c upstream.

Reported as a Kaffeine bug:
https://bugs.kde.org/show_bug.cgi?id=375811

The USB control messages require DMA to work. We cannot pass
a stack-allocated buffer, as it is not warranted that the
stack would be into a DMA enabled area.

On Kernel 4.9, the default is to not accept DMA on stack anymore
on x86 architecture. On other architectures, this has been a
requirement since Kernel 2.2. So, after this patch, this driver
should likely work fine on all archs.

Tested with USB ID 2040:5510: Hauppauge Windham

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
[bwh: Backported to 3.2:
 - s/sms_msg_hdr/SmsMsgHdr_ST/
 - Adjust filename, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/media/dvb/siano/smsusb.c