Messages in this thread |  | | Date | Tue, 31 Dec 2019 09:47:06 +0000 | | From | Sean Young <> | | Subject | Re: [PATCH] media: dvb_dummy_fe: Add error messages in case of attach failure |
| |
Hi Daniel, Mauro,
On Sat, Nov 30, 2019 at 07:54:15AM +0100, Mauro Carvalho Chehab wrote: > Em Wed, 6 Nov 2019 22:37:45 -0300 > "Daniel W. S. Almeida" <dwlsalmeida@gmail.com> escreveu: > > > From: "Daniel W. S. Almeida" <dwlsalmeida@gmail.com> > > > > Complain if the attach functions fail, for any reason. This is helpful > > when debugging. > > > > Suggested-by: Shuah Khan <skhan@linuxfoundation.org> > > Signed-off-by: Daniel W. S. Almeida <dwlsalmeida@gmail.com> > > Looks OK to me. > > > --- > > drivers/media/dvb-frontends/dvb_dummy_fe.c | 18 +++++++++++++++--- > > 1 file changed, 15 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/media/dvb-frontends/dvb_dummy_fe.c b/drivers/media/dvb-frontends/dvb_dummy_fe.c > > index 4db679cb70ad..ca86857c3667 100644 > > --- a/drivers/media/dvb-frontends/dvb_dummy_fe.c > > +++ b/drivers/media/dvb-frontends/dvb_dummy_fe.c > > @@ -114,12 +114,16 @@ struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void) > > /* allocate memory for the internal state */ > > state = kzalloc(sizeof(struct dvb_dummy_fe_state), GFP_KERNEL); > > if (!state) > > - return NULL; > > + goto err; > > > > /* create dvb_frontend */ > > memcpy(&state->frontend.ops, &dvb_dummy_fe_ofdm_ops, sizeof(struct dvb_frontend_ops)); > > state->frontend.demodulator_priv = state; > > return &state->frontend; > > + > > +err: > > + pr_err("%s: DVB Dummy frontend driver attach failed\n", __func__); > > + return NULL; > > }
If kzalloc() fails, it will already complain before returning. Lately we've been removing error logs after kmalloc() failures. I'm sure someone will send in patches reverting this if it gets merged.
Is this a good idea?
Sean
> > > > static const struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops; > > @@ -131,12 +135,16 @@ struct dvb_frontend *dvb_dummy_fe_qpsk_attach(void) > > /* allocate memory for the internal state */ > > state = kzalloc(sizeof(struct dvb_dummy_fe_state), GFP_KERNEL); > > if (!state) > > - return NULL; > > + goto err; > > > > /* create dvb_frontend */ > > memcpy(&state->frontend.ops, &dvb_dummy_fe_qpsk_ops, sizeof(struct dvb_frontend_ops)); > > state->frontend.demodulator_priv = state; > > return &state->frontend; > > + > > +err: > > + pr_err("%s: DVB Dummy frontend driver attach failed\n", __func__); > > + return NULL; > > } > > > > static const struct dvb_frontend_ops dvb_dummy_fe_qam_ops; > > @@ -148,12 +156,16 @@ struct dvb_frontend *dvb_dummy_fe_qam_attach(void) > > /* allocate memory for the internal state */ > > state = kzalloc(sizeof(struct dvb_dummy_fe_state), GFP_KERNEL); > > if (!state) > > - return NULL; > > + goto err; > > > > /* create dvb_frontend */ > > memcpy(&state->frontend.ops, &dvb_dummy_fe_qam_ops, sizeof(struct dvb_frontend_ops)); > > state->frontend.demodulator_priv = state; > > return &state->frontend; > > + > > +err: > > + pr_err("%s: DVB Dummy frontend driver attach failed\n", __func__); > > + return NULL; > > } > > > > static const struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops = { > > > > Cheers, > Mauro
|  |