diff options
author | 2020-02-21 23:11:43 +0000 | |
---|---|---|
committer | 2020-02-21 17:17:42 -0600 | |
commit | 6a7f10c795743a7f81e89df99866d7532811c324 (patch) | |
tree | 7c5e0ad12caf854a5414811d8123d79a9cd87f30 /drivers/soc | |
parent | soc: fsl: dpio: Replace QMAN array mode with ring mode enqueue (diff) | |
download | linux-6a7f10c795743a7f81e89df99866d7532811c324.tar.gz linux-6a7f10c795743a7f81e89df99866d7532811c324.tar.bz2 linux-6a7f10c795743a7f81e89df99866d7532811c324.zip |
soc: fsl: dpio: fix dereference of pointer p before null check
Pointer p is currently being dereferenced before it is null
checked on a memory allocation failure check. Fix this by
checking if p is null before dereferencing it.
Addresses-Coverity: ("Dereference before null check")
Fixes: 3b2abda7d28c ("soc: fsl: dpio: Replace QMAN array mode with ring mode enqueue")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
Diffstat (limited to 'drivers/soc')
-rw-r--r-- | drivers/soc/fsl/dpio/qbman-portal.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/soc/fsl/dpio/qbman-portal.c b/drivers/soc/fsl/dpio/qbman-portal.c index 740ee0d19582..d1f49caa5b13 100644 --- a/drivers/soc/fsl/dpio/qbman-portal.c +++ b/drivers/soc/fsl/dpio/qbman-portal.c @@ -249,10 +249,11 @@ struct qbman_swp *qbman_swp_init(const struct qbman_swp_desc *d) u32 mask_size; u32 eqcr_pi; - spin_lock_init(&p->access_spinlock); - if (!p) return NULL; + + spin_lock_init(&p->access_spinlock); + p->desc = d; p->mc.valid_bit = QB_VALID_BIT; p->sdq = 0; |