From: Ioana Radulescu Date: Tue, 6 Mar 2018 17:43:47 +0000 (-0600) Subject: staging: fsl-mc/dpio: Fix incorrect masking X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c5f370c76770c2ec7ffb400c6612777f7e8fdd4c;p=openwrt%2Fstaging%2Fblogic.git staging: fsl-mc/dpio: Fix incorrect masking In qbman_swp_alt_fq_state(), we need to mask the fqid value before converting it to little endian, otherwise we write a wrong value to hardware when running in big endian mode. Signed-off-by: Ioana Radulescu Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c index 022baf5f39c8..116fafb28640 100644 --- a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c +++ b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c @@ -922,7 +922,7 @@ int qbman_swp_alt_fq_state(struct qbman_swp *s, u32 fqid, if (!p) return -EBUSY; - p->fqid = cpu_to_le32(fqid) & ALT_FQ_FQID_MASK; + p->fqid = cpu_to_le32(fqid & ALT_FQ_FQID_MASK); /* Complete the management command */ r = qbman_swp_mc_complete(s, p, alt_fq_verb);