Message ID | 7b535d6b-6031-493a-84f6-82842089e637@kili.mountain (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | [v2] counter: rz-mtu3-cnt: Unlock on error in rz_mtu3_count_ceiling_write() | expand |
On Thu, Apr 20, 2023 at 06:02:11PM +0300, Dan Carpenter wrote: > These error paths need to call mutex_unlock(&priv->lock) before > returning. The lock is taken in rz_mtu3_lock_if_counter_is_valid(). > > Fixes: 25d21447d896 ("counter: Add Renesas RZ/G2L MTU3a counter driver") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Acked-by: William Breathitt Gray <william.gray@linaro.org> Despite this being a fix, I think this driver currently is only in the mfd tree, right? So I assume Lee Jones will pick this up for there. Thanks, William Breathitt Gray > --- > v2: I had the wrong function in the subject. Also style changes. > > drivers/counter/rz-mtu3-cnt.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/counter/rz-mtu3-cnt.c b/drivers/counter/rz-mtu3-cnt.c > index a371bab68499..48c83933aa2f 100644 > --- a/drivers/counter/rz-mtu3-cnt.c > +++ b/drivers/counter/rz-mtu3-cnt.c > @@ -358,13 +358,17 @@ static int rz_mtu3_count_ceiling_write(struct counter_device *counter, > switch (count->id) { > case RZ_MTU3_16_BIT_MTU1_CH: > case RZ_MTU3_16_BIT_MTU2_CH: > - if (ceiling > U16_MAX) > + if (ceiling > U16_MAX) { > + mutex_unlock(&priv->lock); > return -ERANGE; > + } > priv->mtu_16bit_max[ch_id] = ceiling; > break; > case RZ_MTU3_32_BIT_CH: > - if (ceiling > U32_MAX) > + if (ceiling > U32_MAX) { > + mutex_unlock(&priv->lock); > return -ERANGE; > + } > priv->mtu_32bit_max = ceiling; > break; > default: > -- > 2.39.2 >
On Thu, 20 Apr 2023, Dan Carpenter wrote: > These error paths need to call mutex_unlock(&priv->lock) before > returning. The lock is taken in rz_mtu3_lock_if_counter_is_valid(). > > Fixes: 25d21447d896 ("counter: Add Renesas RZ/G2L MTU3a counter driver") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > --- > v2: I had the wrong function in the subject. Also style changes. > > drivers/counter/rz-mtu3-cnt.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) Applied, thanks
diff --git a/drivers/counter/rz-mtu3-cnt.c b/drivers/counter/rz-mtu3-cnt.c index a371bab68499..48c83933aa2f 100644 --- a/drivers/counter/rz-mtu3-cnt.c +++ b/drivers/counter/rz-mtu3-cnt.c @@ -358,13 +358,17 @@ static int rz_mtu3_count_ceiling_write(struct counter_device *counter, switch (count->id) { case RZ_MTU3_16_BIT_MTU1_CH: case RZ_MTU3_16_BIT_MTU2_CH: - if (ceiling > U16_MAX) + if (ceiling > U16_MAX) { + mutex_unlock(&priv->lock); return -ERANGE; + } priv->mtu_16bit_max[ch_id] = ceiling; break; case RZ_MTU3_32_BIT_CH: - if (ceiling > U32_MAX) + if (ceiling > U32_MAX) { + mutex_unlock(&priv->lock); return -ERANGE; + } priv->mtu_32bit_max = ceiling; break; default:
These error paths need to call mutex_unlock(&priv->lock) before returning. The lock is taken in rz_mtu3_lock_if_counter_is_valid(). Fixes: 25d21447d896 ("counter: Add Renesas RZ/G2L MTU3a counter driver") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- v2: I had the wrong function in the subject. Also style changes. drivers/counter/rz-mtu3-cnt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)