gp8psk: fix gp8psk_usb_in_op() logic

Commit bc29131ecb10 ("[media] gp8psk: don't do DMA on stack") fixed the
usage of DMA on stack, but the memcpy was wrong for gp8psk_usb_in_op().
Fix it.

From Derek's email:
"Fix confirmed using 2 different Skywalker models with
HD mpeg4, SD mpeg2."

Suggested-by: Johannes Stezenbach <js@linuxtv.org>
Fixes: bc29131ecb10 ("[media] gp8psk: don't do DMA on stack")
Tested-by: Derek <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Mauro Carvalho Chehab and committed by Linus Torvalds 1596c387 7724325a

Changed files
+3 -2
drivers
media
usb
dvb-usb
+3 -2
drivers/media/usb/dvb-usb/gp8psk.c
··· 67 67 return ret; 68 68 69 69 while (ret >= 0 && ret != blen && try < 3) { 70 - memcpy(st->data, b, blen); 71 70 ret = usb_control_msg(d->udev, 72 71 usb_rcvctrlpipe(d->udev,0), 73 72 req, ··· 80 81 if (ret < 0 || ret != blen) { 81 82 warn("usb in %d operation failed.", req); 82 83 ret = -EIO; 83 - } else 84 + } else { 84 85 ret = 0; 86 + memcpy(b, st->data, blen); 87 + } 85 88 86 89 deb_xfer("in: req. %x, val: %x, ind: %x, buffer: ",req,value,index); 87 90 debug_dump(b,blen,deb_xfer);