From ca1c8a5d5db4154ff2e70e03b15c1e5ec8281759 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Sun, 17 Jun 2012 23:42:11 -0300 Subject: [PATCH] --- yaml --- r: 330639 b: refs/heads/master c: 4edcf22bf2cf5fe679dd51c6d0f092f1fabdff1e h: refs/heads/master i: 330637: 771e74d9150fa548153bcf577a6a2fb190008c0f 330635: f7e5920d80e9fa229911ad2ead25f9f8bfa1e6e0 330631: 519f6e4107dea0c523808aa4893a3a529dea8604 330623: ba38df31521cbf4fb04c1610ca1aa2b818aeef1d v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/dvb-usb/dvb_usb.h | 3 -- trunk/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c | 30 ++++++++----------- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 1e265972a7c1..99a99b77138f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5da2aecb46597c2b4a3dee2eb78863fee0c8354e +refs/heads/master: 4edcf22bf2cf5fe679dd51c6d0f092f1fabdff1e diff --git a/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h b/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h index 6bd27e511102..933d69004ab7 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h +++ b/trunk/drivers/media/dvb/dvb-usb/dvb_usb.h @@ -297,9 +297,6 @@ struct usb_data_stream { * @stream: the usb data stream. */ struct dvb_usb_adapter { -#define DVB_USB_ADAP_STATE_INIT 0x000 -#define DVB_USB_ADAP_STATE_DVB 0x001 - int state; struct dvb_usb_device *dev; const struct dvb_usb_adapter_properties *props; struct usb_data_stream stream; diff --git a/trunk/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c b/trunk/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c index 97b509332430..9e1bf03e03b3 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c +++ b/trunk/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c @@ -8,28 +8,25 @@ */ #include "dvb_usb_common.h" -static void dvb_usb_data_complete(struct usb_data_stream *stream, u8 *buffer, - size_t length) +static void dvb_usb_data_complete(struct usb_data_stream *stream, u8 *buf, + size_t len) { struct dvb_usb_adapter *adap = stream->user_priv; - if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) - dvb_dmx_swfilter(&adap->demux, buffer, length); + dvb_dmx_swfilter(&adap->demux, buf, len); } -static void dvb_usb_data_complete_204(struct usb_data_stream *stream, - u8 *buffer, size_t length) +static void dvb_usb_data_complete_204(struct usb_data_stream *stream, u8 *buf, + size_t len) { struct dvb_usb_adapter *adap = stream->user_priv; - if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) - dvb_dmx_swfilter_204(&adap->demux, buffer, length); + dvb_dmx_swfilter_204(&adap->demux, buf, len); } -static void dvb_usb_data_complete_raw(struct usb_data_stream *stream, - u8 *buffer, size_t length) +static void dvb_usb_data_complete_raw(struct usb_data_stream *stream, u8 *buf, + size_t len) { struct dvb_usb_adapter *adap = stream->user_priv; - if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) - dvb_dmx_swfilter_raw(&adap->demux, buffer, length); + dvb_dmx_swfilter_raw(&adap->demux, buf, len); } int dvb_usbv2_adapter_stream_init(struct dvb_usb_adapter *adap) @@ -244,9 +241,8 @@ int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap) } mutex_init(&adap->sync_mutex); - adap->state |= DVB_USB_ADAP_STATE_DVB; - return 0; + return 0; err_net_init: dvb_dmxdev_release(&adap->dmxdev); err_dmx_dev: @@ -254,6 +250,7 @@ int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap) err_dmx: dvb_unregister_adapter(&adap->dvb_adap); err: + adap->dvb_adap.priv = NULL; return ret; } @@ -261,15 +258,14 @@ int dvb_usbv2_adapter_dvb_exit(struct dvb_usb_adapter *adap) { pr_debug("%s: adap=%d\n", __func__, adap->id); - if (adap->state & DVB_USB_ADAP_STATE_DVB) { - pr_debug("%s: unregistering DVB part\n", __func__); + if (adap->dvb_adap.priv) { dvb_net_release(&adap->dvb_net); adap->demux.dmx.close(&adap->demux.dmx); dvb_dmxdev_release(&adap->dmxdev); dvb_dmx_release(&adap->demux); dvb_unregister_adapter(&adap->dvb_adap); - adap->state &= ~DVB_USB_ADAP_STATE_DVB; } + return 0; }