upstream: Revert "[media] dvb_frontend: return -ENOTTY for unimplement IOCTL"
authorMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 15 Feb 2013 15:39:31 +0000 (13:39 -0200)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:55:39 +0000 (11:55 +0900)
commitbafff7148ea1ecae0d80549cae4a6dc9dde1a1c6
treec3f65b1ca107b6ec9f4a2759f47e7394ea855645
parentd6a9ad0cd6385399824cf7a30d4bca54d2303a77
upstream: Revert "[media] dvb_frontend: return -ENOTTY for unimplement IOCTL"

As reported by Klaus Schmidinger:
 "In VDR I use an ioctl() call with FE_READ_UNCORRECTED_BLOCKS on a
  device (using stb0899).  After this call I check 'errno' for
  EOPNOTSUPP to determine whether this device supports this call.  This
  used to work just fine, until a few months ago I noticed that my
  devices using stb0899 didn't display their signal quality in VDR's OSD
  any more.  After further investigation I found that
  ioctl(FE_READ_UNCORRECTED_BLOCKS) no longer returns EOPNOTSUPP, but
  rather ENOTTY.  And since I stop getting the signal quality in case
  any unknown errno value appears, this broke my signal quality query
  function."

While the changes reflect what is there at:

  http://comments.gmane.org/gmane.linux.kernel/1235728

it does cause regression on userspace.  So, revert it to stop the
damage.

This reverts commit 177ffe506cf8 ("[media] dvb_frontend: return -ENOTTY
for unimplement IOCTL").

Reported-by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/media/dvb-core/dvb_frontend.c