Precedence of & and >> is not the same and is not left to right.
shift has higher precedence and should be done after the mask.

Add parentheses around the mask.

Signed-off-by: Joe Perches <j...@perches.com>
---
 drivers/media/dvb-core/dvb_net.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c
index 059e611..441814b 100644
--- a/drivers/media/dvb-core/dvb_net.c
+++ b/drivers/media/dvb-core/dvb_net.c
@@ -379,7 +379,9 @@ static void dvb_net_ule( struct net_device *dev, const u8 
*buf, size_t buf_len )
                        /* Check TS error conditions: sync_byte, 
transport_error_indicator, scrambling_control . */
                        if ((ts[0] != TS_SYNC) || (ts[1] & TS_TEI) || ((ts[3] & 
TS_SC) != 0)) {
                                printk(KERN_WARNING "%lu: Invalid TS cell: SYNC 
%#x, TEI %u, SC %#x.\n",
-                                      priv->ts_count, ts[0], ts[1] & TS_TEI >> 
7, ts[3] & 0xC0 >> 6);
+                                      priv->ts_count, ts[0],
+                                      (ts[1] & TS_TEI) >> 7,
+                                      (ts[3] & 0xC0) >> 6);
 
                                /* Drop partly decoded SNDU, reset state, 
resync on PUSI. */
                                if (priv->ule_skb) {
-- 
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to