<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/dvb-core/dvb_frontend.c, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-07-03T09:21:33Z</updated>
<entry>
<title>media: dvb_frontend: fix locking issues at dvb_frontend_get_event()</title>
<updated>2018-07-03T09:21:33Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2018-04-05T09:30:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5808ebb3a6a0937130c9099c2c8e400efb0cd22'/>
<id>urn:sha1:c5808ebb3a6a0937130c9099c2c8e400efb0cd22</id>
<content type='text'>
commit 76d81243a487c09619822ef8e7201a756e58a87d upstream.

As warned by smatch:
	drivers/media/dvb-core/dvb_frontend.c:314 dvb_frontend_get_event() warn: inconsistent returns 'sem:&amp;fepriv-&gt;sem'.
	  Locked on:   line 288
	               line 295
	               line 306
	               line 314
	  Unlocked on: line 303

The lock implementation for get event is wrong, as, if an
interrupt occurs, down_interruptible() will fail, and the
routine will call up() twice when userspace calls the ioctl
again.

The bad code is there since when Linux migrated to git, in
2005.

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: dvb-core: Don't force CAN_INVERSION_AUTO in oneshot mode</title>
<updated>2016-03-03T23:07:13Z</updated>
<author>
<name>Malcolm Priestley</name>
</author>
<published>2015-08-31T09:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aecba569dc08bc746885aeae6086886cd62db7eb'/>
<id>urn:sha1:aecba569dc08bc746885aeae6086886cd62db7eb</id>
<content type='text'>
commit c9d57de6103e343f2d4e04ea8d9e417e10a24da7 upstream.

When in FE_TUNE_MODE_ONESHOT the frontend must report
the actual capabilities so user can take appropriate
action.

With frontends that can't do auto inversion this is done
by dvb-core automatically so CAN_INVERSION_AUTO is valid.

However, when in FE_TUNE_MODE_ONESHOT this is not true.

So only set FE_CAN_INVERSION_AUTO in modes other than
FE_TUNE_MODE_ONESHOT

Signed-off-by: Malcolm Priestley &lt;tvboxspy@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>[media] dvb: Use DVBFE_ALGO_HW where applicable</title>
<updated>2015-08-22T17:52:58Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-08-22T15:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27460adc07a3f84e671dec71ac553818d5988003'/>
<id>urn:sha1:27460adc07a3f84e671dec71ac553818d5988003</id>
<content type='text'>
The dvb_frontend.c core defines a FE_ALGO_HW symbol that it is
never used. Also, both cx24123 returns 1 to get_algo() callback
instead of using DVBFE_ALGO_HW.

Probably, those are some left overs from some code cleanup.

Let's stop returning magic numbers and use the proper macro
value.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Acked-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>[media] dvb-core: prevent some corruption the legacy ioctl</title>
<updated>2015-06-10T14:47:56Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2015-06-06T16:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d7e506350a3ff1b0659f7f5d65115a9be5ae37e'/>
<id>urn:sha1:8d7e506350a3ff1b0659f7f5d65115a9be5ae37e</id>
<content type='text'>
Quite a few of the -&gt;diseqc_send_master_cmd() implementations don't
check cmd-&gt;msg_len so it can lead to memory corruption.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] dvb-frontend: Replace timeval with ktime_t</title>
<updated>2015-06-10T00:09:51Z</updated>
<author>
<name>Tina Ruchandani</name>
</author>
<published>2015-05-31T07:17:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9056a23ba19d911d4a079b8ca543fb8ebffa7c56'/>
<id>urn:sha1:9056a23ba19d911d4a079b8ca543fb8ebffa7c56</id>
<content type='text'>
struct timeval uses a 32-bit seconds representation which will
overflow in the year 2038 and beyond. This patch replaces
the usage of struct timeval with ktime_t which is a 64-bit
timestamp and is year 2038 safe.
This patch is part of a larger attempt to remove all instances
of 32-bit timekeeping variables (timeval, timespec, time_t)
which are not year 2038 safe, from the kernel.

[mchehab@osg.samsung.com: add a missing parenthesis, breaking compilation]
Suggested-by: Arnd Bergmann &lt;arndb@arndb.de&gt;
Signed-off-by: Tina Ruchandani &lt;ruchandani.tina@gmail.com&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] dvb: Get rid of typedev usage for enums</title>
<updated>2015-06-09T20:47:35Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-06-07T17:53:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0df289a209e02f0926042ab07d7d2595ea2d2e9b'/>
<id>urn:sha1:0df289a209e02f0926042ab07d7d2595ea2d2e9b</id>
<content type='text'>
The DVB API was originally defined using typedefs. This is against
Kernel CodingStyle, and there's no good usage here. While we can't
remove its usage on userspace, we can avoid its usage in Kernelspace.

So, let's do it.

This patch was generated by this shell script:

	for j in $(grep typedef include/uapi/linux/dvb/frontend.h |cut -d' ' -f 3); do for i in $(find drivers/media -name '*.[ch]' -type f) $(find drivers/staging/media -name '*.[ch]' -type f); do sed "s,${j}_t,enum $j," &lt;$i &gt;a &amp;&amp; mv a $i; done; done

While here, make CodingStyle fixes on the affected lines.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Acked-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt; # for drivers/media/firewire/*
</content>
</entry>
<entry>
<title>[media] dvb-core: fix 32-bit overflow during bandwidth calculation</title>
<updated>2015-05-20T17:01:46Z</updated>
<author>
<name>Antti Palosaari</name>
</author>
<published>2015-04-14T18:12:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a80f296422a01178d0a993479369e94f5830127'/>
<id>urn:sha1:2a80f296422a01178d0a993479369e94f5830127</id>
<content type='text'>
Frontend bandwidth calculation overflows on very high DVB-S/S2
symbol rates. Use mult_frac() macro in order to keep calculation
correct.

Signed-off-by: Antti Palosaari &lt;crope@iki.fi&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] dvb-frontend: remove a warning</title>
<updated>2015-02-26T11:43:29Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-02-18T14:43:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1bd57d30bf1b72134d1049b9b169afa96c4d030'/>
<id>urn:sha1:c1bd57d30bf1b72134d1049b9b169afa96c4d030</id>
<content type='text'>
if CONFIG_MEDIA_CONTROLLER_DVB is not selected, it is now
producing this warning:

drivers/media/dvb-core/dvb_frontend.c: In function ‘dvb_frontend_thread’:
drivers/media/dvb-core/dvb_frontend.c:695:6: warning: unused variable ‘ret’ [-Wunused-variable]
  int ret;
      ^

Reported-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] dvb core: only start media entity if not NULL</title>
<updated>2015-02-23T19:10:54Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-02-23T12:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a26a258bdb82db241cdc35f332f88dd67bdb9c9'/>
<id>urn:sha1:8a26a258bdb82db241cdc35f332f88dd67bdb9c9</id>
<content type='text'>
The logic there tries to start the media entity even if it
doesn't exist, causing this bug:

	[  314.356162] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
	[  314.356202] IP: [&lt;ffffffffa02ef74c&gt;] media_entity_pipeline_start+0x1c/0x390 [media]

Reported-by: Gert-Jan van der Stroom &lt;gjstroom@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] dvb_frontend: start media pipeline while thread is running</title>
<updated>2015-02-13T23:10:17Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-01-06T20:53:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=135f9be9194cf7778eb73594aa55791b229cf27c'/>
<id>urn:sha1:135f9be9194cf7778eb73594aa55791b229cf27c</id>
<content type='text'>
While the DVB thread is running, the media pipeline should be
streaming. This should prevent any attempt of using the analog
TV while digital TV is working, and vice-versa.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
</feed>
