Added Check to verify TSPP channel input source is valid.
Initialize return variables to return correct values in fail conditions.
Move deferencing of input pointer arguments after NULL checking.
CR's-Fixed:
2043689
Change-Id: I7febdb0e0f499846cfcf8836ea35c8547a5074fb
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
unsigned int f_flags,
struct dmx_filter_event *event)
{
- int res;
+ int res = 0;
if (!((f_flags & O_ACCMODE) == O_RDONLY))
return -EINVAL;
(playback_mode != DMX_PB_MODE_PULL))
return -EINVAL;
+ if (dmxdev->demux->set_playback_mode == NULL)
+ return -EINVAL;
+
if (((dmxdev->source < DMX_SOURCE_DVR0) ||
- !dmxdev->demux->set_playback_mode ||
!(caps.caps & DMX_CAP_PULL_MODE)) &&
(playback_mode == DMX_PB_MODE_PULL))
return -EPERM;
static int dvb_dmxdev_get_event(struct dmxdev_filter *dmxdevfilter,
struct dmx_filter_event *event)
{
- int res;
+ int res = 0;
spin_lock_irq(&dmxdevfilter->dev->lock);
channel = &pdev->channels[channel_id];
src = channel->src;
- tspp_filter = &(pdev->filters[src]->filter[filter->priority]);
+ if ((src == TSPP_SOURCE_TSIF0) || (src == TSPP_SOURCE_TSIF1))
+ tspp_filter = &(pdev->filters[src]->filter[filter->priority]);
+ else {
+ pr_err("tspp_remove: wrong source type %d", src);
+ return -EINVAL;
+ }
+
/* disable pipe (channel) */
val = readl_relaxed(pdev->base + TSPP_PS_DISABLE);
const char *buf,
size_t count)
{
- struct ion_handle *ion_handle =
- mpq_demux->demux.dmx.dvr_input.priv_handle;
- struct dvb_ringbuffer *rbuf = (struct dvb_ringbuffer *)
- mpq_demux->demux.dmx.dvr_input.ringbuff;
+ struct ion_handle *ion_handle;
+ struct dvb_ringbuffer *rbuf;
struct sdmx_buff_descr buf_desc;
u32 read_offset;
int ret;
return -EINVAL;
}
+ ion_handle = mpq_demux->demux.dmx.dvr_input.priv_handle;
+ rbuf = (struct dvb_ringbuffer *)mpq_demux->demux.dmx.dvr_input.ringbuff;
+
ret = mpq_sdmx_dvr_buffer_desc(mpq_demux, &buf_desc);
if (ret) {
MPQ_DVB_ERR_PRINT(
- "%s: Failed to init input buffer descriptor. ret = %d\n",
+ "%s: Failed to init input buffer descriptor. ret = %d\n",
__func__, ret);
return ret;
}