Em Thu, 10 Nov 2016 07:01:44 -0800 VDR User <user.vdr@xxxxxxxxx> escreveu: > > commit 0c979a12309af49894bb1dc60e747c3cd53fa888 > > Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> > > Date: Wed Nov 9 15:33:17 2016 -0200 > > > > [media] gp8psk: Fix DVB frontend attach > > > > it should be calling module_get() at attach, as otherwise > > module_put() will crash. > > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> > > > > diff --git a/drivers/media/usb/dvb-usb/gp8psk.c b/drivers/media/usb/dvb-usb/gp8psk.c > > index cede0d8b0f8a..24eb6c6c8e24 100644 > > --- a/drivers/media/usb/dvb-usb/gp8psk.c > > +++ b/drivers/media/usb/dvb-usb/gp8psk.c > > @@ -250,7 +250,7 @@ static int gp8psk_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) > > > > static int gp8psk_frontend_attach(struct dvb_usb_adapter *adap) > > { > > - adap->fe_adap[0].fe = gp8psk_fe_attach(adap->dev); > > + adap->fe_adap[0].fe = dvb_attach(gp8psk_fe_attach, adap->dev); > > return 0; > > } > > This gives: > > [119150.498863] DVB: Unable to find symbol gp8psk_fe_attach() > [119150.498928] dvb-usb: no frontend was attached by 'Genpix > SkyWalker-2 DVB-S receiver' Hmm... dvb_attach() assumes that the symbol is exported. Please try this patch. If it fixes the bug, I'll likely do something else, to avoid the need of EXPORT_SYMBOL. [PATCH] [media] gp8psk: Fix DVB frontend attach it should be calling module_get() at attach, as otherwise module_put() will crash. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> diff --git a/drivers/media/usb/dvb-usb/gp8psk-fe.c b/drivers/media/usb/dvb-usb/gp8psk-fe.c index db6eb79cde07..ab7c6093436b 100644 --- a/drivers/media/usb/dvb-usb/gp8psk-fe.c +++ b/drivers/media/usb/dvb-usb/gp8psk-fe.c @@ -326,6 +326,7 @@ struct dvb_frontend * gp8psk_fe_attach(struct dvb_usb_device *d) success: return &s->fe; } +EXPORT_SYMBOL_GPL(gp8psk_fe_attach); static struct dvb_frontend_ops gp8psk_fe_ops = { diff --git a/drivers/media/usb/dvb-usb/gp8psk.c b/drivers/media/usb/dvb-usb/gp8psk.c index 2829e3082d15..c3762c50e93b 100644 --- a/drivers/media/usb/dvb-usb/gp8psk.c +++ b/drivers/media/usb/dvb-usb/gp8psk.c @@ -250,7 +250,7 @@ static int gp8psk_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) static int gp8psk_frontend_attach(struct dvb_usb_adapter *adap) { - adap->fe_adap[0].fe = gp8psk_fe_attach(adap->dev); + adap->fe_adap[0].fe = dvb_attach(gp8psk_fe_attach, adap->dev); return 0; } Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html