This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: dib0700: cleanup start/stop streaming logic
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Sun Sep 26 21:51:27 2021 +0100

Having two different paths to start/stop streaming, depending
weather the USB endpoints are 0x82/0x83 or not makes it more
prune to errors.

Unify the logic.

Link: 
https://lore.kernel.org/linux-media/065a6fff925a42153671fa5202c81882ca12c59c.1632689033.git.mchehab+hua...@kernel.org

Cc: [email protected], [email protected], Mauro Carvalho Chehab 
<[email protected]>, Mauro Carvalho Chehab <[email protected]>, 
Michael Kuron <[email protected]>, [email protected], 
[email protected], [email protected]
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/usb/dvb-usb/dib0700_core.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

---

diff --git a/drivers/media/usb/dvb-usb/dib0700_core.c 
b/drivers/media/usb/dvb-usb/dib0700_core.c
index 7ea8f68b0f45..d7c5836b9271 100644
--- a/drivers/media/usb/dvb-usb/dib0700_core.c
+++ b/drivers/media/usb/dvb-usb/dib0700_core.c
@@ -583,7 +583,7 @@ out:
 int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff)
 {
        struct dib0700_state *st = adap->dev->priv;
-       int ret;
+       int ret, adapt_nr;
 
        if ((onoff != 0) && (st->fw_version >= 0x10201)) {
                /* for firmware later than 1.20.1,
@@ -610,24 +610,26 @@ int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, 
int onoff)
 
        st->buf[3] = 0x00;
 
-       deb_info("modifying (%d) streaming state for %d\n", onoff, adap->id);
-
        st->channel_state &= ~0x3;
+
        if ((adap->fe_adap[0].stream.props.endpoint != 2)
-                       && (adap->fe_adap[0].stream.props.endpoint != 3)) {
-               deb_info("the endpoint number (%i) is not correct, use the 
adapter id instead", adap->fe_adap[0].stream.props.endpoint);
-               if (onoff)
-                       st->channel_state |=    1 << (adap->id);
+           && (adap->fe_adap[0].stream.props.endpoint != 3)) {
+               deb_info("the endpoint number (%i) is not correct, use the 
adapter id instead\n",
+                        adap->fe_adap[0].stream.props.endpoint);
+               adapt_nr = adap->id;
        } else {
-               if (onoff)
-                       st->channel_state |=    1 << 
(adap->fe_adap[0].stream.props.endpoint-2);
-               else
-                       st->channel_state |=    1 << 
(3-adap->fe_adap[0].stream.props.endpoint);
+               adapt_nr = adap->fe_adap[0].stream.props.endpoint - 2;
        }
 
+       if (onoff)
+               st->channel_state |= 1 << adapt_nr;
+       else
+               st->channel_state |= 1 << (1 - adapt_nr);
+
        st->buf[2] |= st->channel_state;
 
-       deb_info("data for streaming: %x %x\n", st->buf[1], st->buf[2]);
+       deb_info("adapter %d, streaming %s: %*ph\n",
+               adapt_nr, onoff ? "ON" : "OFF", 3, st->buf);
 
        ret = dib0700_ctrl_wr(adap->dev, st->buf, 4);
        mutex_unlock(&adap->dev->usb_mutex);

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to