summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorSrinivasarao P <spathi@codeaurora.org>2019-09-24 10:58:02 +0530
committerSrinivasarao P <spathi@codeaurora.org>2019-09-24 10:58:13 +0530
commit90582d7c19b7af63c8311c757b98ce082e1bf29b (patch)
tree250d05d76c8c9fd047793d5715f14fc90cad0ac9 /drivers/media
parent869c392a217ba62afb53a5609563f97d4d8b92f5 (diff)
parenta749771ac273a479161cb12e1de1122483778ebf (diff)
Merge android-4.4.194 (a749771) into msm-4.4
* refs/heads/tmp-a749771 Linux 4.4.194 net_sched: let qdisc_put() accept NULL pointer ARC: export "abort" for modules media: technisat-usb2: break out of loop at end of buffer floppy: fix usercopy direction keys: Fix missing null pointer check in request_key_auth_describe() dmaengine: ti: omap-dma: Add cleanup in omap_dma_probe() net: seeq: Fix the function used to release some memory in an error handling path tools/power turbostat: fix buffer overrun sky2: Disable MSI on yet another ASUS boards (P6Xxxx) cifs: Use kzfree() to zero out the password cifs: set domainName when a domain-key is used in multiuser NFSv2: Fix write regression NFSv2: Fix eof handling netfilter: nf_conntrack_ftp: Fix debug output x86/apic: Fix arch_dynirq_lower_bound() bug for DT enabled machines r8152: Set memory to all 0xFFs on failed reg reads ARM: 8874/1: mm: only adjust sections of valid mm structures Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105 NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup NFSv4: Fix return values for nfs4_file_open() s390/bpf: use 32-bit index for tail calls ARM: OMAP2+: Fix omap4 errata warning on other SoCs s390/bpf: fix lcgr instruction encoding mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings tty/serial: atmel: reschedule TX after RX was started serial: sprd: correct the wrong sequence of arguments KVM: coalesced_mmio: add bounds checking xen-netfront: do not assume sk_buff_head list is empty in error handling x86/boot: Add missing bootparam that breaks boot on some platforms media: tm6000: double free if usb disconnect while streaming USB: usbcore: Fix slab-out-of-bounds bug during device reset ARC: configs: Remove CONFIG_INITRAMFS_SOURCE from defconfigs MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send() x86/build: Add -Wnoaddress-of-packed-member to REALMODE_CFLAGS, to silence GCC9 build warning crypto: talitos - check data blocksize in ablkcipher. crypto: talitos - check AES key size driver core: Fix use-after-free and double free on glue directory clk: rockchip: Don't yell about bad mmc phases when getting MIPS: VDSO: Use same -m%-float cflag as the kernel proper MIPS: VDSO: Prevent use of smp_processor_id() KVM: nVMX: handle page fault in vmread KVM: x86: work around leak of uninitialized stack contents KVM: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl genirq: Prevent NULL pointer dereference in resend_irqs() Btrfs: fix assertion failure during fsync and use of stale transaction Revert "MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur" tun: fix use-after-free when register netdev failed tipc: add NULL pointer check before calling kfree_rcu tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR sctp: use transport pf_retrans in sctp_do_8_2_transport_strike sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero net: Fix null de-reference of device refcount isdn/capi: check message length in capi_write() ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' cdc_ether: fix rndis support for Mediatek based smartphones bridge/mdb: remove wrong use of NLM_F_MULTI Change-Id: I950778c771159febb721a4ebc2656c57ef40ad83 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/usb/dvb-usb/technisat-usb2.c21
-rw-r--r--drivers/media/usb/tm6000/tm6000-dvb.c3
2 files changed, 13 insertions, 11 deletions
diff --git a/drivers/media/usb/dvb-usb/technisat-usb2.c b/drivers/media/usb/dvb-usb/technisat-usb2.c
index 6c3c47722955..30a8c21ed736 100644
--- a/drivers/media/usb/dvb-usb/technisat-usb2.c
+++ b/drivers/media/usb/dvb-usb/technisat-usb2.c
@@ -594,9 +594,9 @@ static int technisat_usb2_frontend_attach(struct dvb_usb_adapter *a)
static int technisat_usb2_get_ir(struct dvb_usb_device *d)
{
- u8 buf[62], *b;
- int ret;
+ u8 buf[62];
struct ir_raw_event ev;
+ int i, ret;
buf[0] = GET_IR_DATA_VENDOR_REQUEST;
buf[1] = 0x08;
@@ -632,26 +632,25 @@ unlock:
return 0; /* no key pressed */
/* decoding */
- b = buf+1;
#if 0
deb_rc("RC: %d ", ret);
- debug_dump(b, ret, deb_rc);
+ debug_dump(buf + 1, ret, deb_rc);
#endif
ev.pulse = 0;
- while (1) {
- ev.pulse = !ev.pulse;
- ev.duration = (*b * FIRMWARE_CLOCK_DIVISOR * FIRMWARE_CLOCK_TICK) / 1000;
- ir_raw_event_store(d->rc_dev, &ev);
-
- b++;
- if (*b == 0xff) {
+ for (i = 1; i < ARRAY_SIZE(buf); i++) {
+ if (buf[i] == 0xff) {
ev.pulse = 0;
ev.duration = 888888*2;
ir_raw_event_store(d->rc_dev, &ev);
break;
}
+
+ ev.pulse = !ev.pulse;
+ ev.duration = (buf[i] * FIRMWARE_CLOCK_DIVISOR *
+ FIRMWARE_CLOCK_TICK) / 1000;
+ ir_raw_event_store(d->rc_dev, &ev);
}
ir_raw_event_handle(d->rc_dev);
diff --git a/drivers/media/usb/tm6000/tm6000-dvb.c b/drivers/media/usb/tm6000/tm6000-dvb.c
index 4f317e2686e9..87401b18d85a 100644
--- a/drivers/media/usb/tm6000/tm6000-dvb.c
+++ b/drivers/media/usb/tm6000/tm6000-dvb.c
@@ -111,6 +111,7 @@ static void tm6000_urb_received(struct urb *urb)
printk(KERN_ERR "tm6000: error %s\n", __func__);
kfree(urb->transfer_buffer);
usb_free_urb(urb);
+ dev->dvb->bulk_urb = NULL;
}
}
}
@@ -143,6 +144,7 @@ static int tm6000_start_stream(struct tm6000_core *dev)
dvb->bulk_urb->transfer_buffer = kzalloc(size, GFP_KERNEL);
if (dvb->bulk_urb->transfer_buffer == NULL) {
usb_free_urb(dvb->bulk_urb);
+ dvb->bulk_urb = NULL;
printk(KERN_ERR "tm6000: couldn't allocate transfer buffer!\n");
return -ENOMEM;
}
@@ -170,6 +172,7 @@ static int tm6000_start_stream(struct tm6000_core *dev)
kfree(dvb->bulk_urb->transfer_buffer);
usb_free_urb(dvb->bulk_urb);
+ dvb->bulk_urb = NULL;
return ret;
}