* Re: inux-next: Tree for Apr 27 (infiniband/hw/ocrdma) [not found] ` <20120427161146.95422142968526faaff615d4-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org> @ 2012-04-27 16:56 ` Randy Dunlap [not found] ` <4F9ACFC4.6010002-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> 2012-05-02 22:51 ` [PATCH] RDMA/ocrdma: Fix build with IPV6=n Roland Dreier 0 siblings, 2 replies; 4+ messages in thread From: Randy Dunlap @ 2012-04-27 16:56 UTC (permalink / raw) To: Stephen Rothwell Cc: linux-next-u79uwXL29TY76Z2rM5mHXA, LKML, linux-rdma-u79uwXL29TY76Z2rM5mHXA On 04/26/2012 11:11 PM, Stephen Rothwell wrote: > Hi all, > > Changes since 20120424: when IPV6 is not enabled: ERROR: "register_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! ERROR: "unregister_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <4F9ACFC4.6010002-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org>]
* Re: inux-next: Tree for Apr 27 (infiniband/hw/ocrdma) [not found] ` <4F9ACFC4.6010002-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> @ 2012-04-27 23:54 ` Roland Dreier 0 siblings, 0 replies; 4+ messages in thread From: Roland Dreier @ 2012-04-27 23:54 UTC (permalink / raw) To: Randy Dunlap Cc: Stephen Rothwell, linux-next-u79uwXL29TY76Z2rM5mHXA, LKML, linux-rdma-u79uwXL29TY76Z2rM5mHXA On Fri, Apr 27, 2012 at 9:56 AM, Randy Dunlap <rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> wrote: > when IPV6 is not enabled: > > ERROR: "register_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! > ERROR: "unregister_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! Thanks, I'll take care of this (probably just wrap those calls in a check if ipv6 is enabled). - R. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] RDMA/ocrdma: Fix build with IPV6=n 2012-04-27 16:56 ` inux-next: Tree for Apr 27 (infiniband/hw/ocrdma) Randy Dunlap [not found] ` <4F9ACFC4.6010002-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> @ 2012-05-02 22:51 ` Roland Dreier [not found] ` <1335999060-23779-1-git-send-email-roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 1 sibling, 1 reply; 4+ messages in thread From: Roland Dreier @ 2012-05-02 22:51 UTC (permalink / raw) To: Randy Dunlap; +Cc: linux-rdma, linux-next, linux-kernel From: Roland Dreier <roland@purestorage.com> When IPV6 is not enabled: ERROR: "register_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! ERROR: "unregister_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! Fix this by wrapping the inet6 calls in #ifdef IPV6. Also make the ocrdma module depend on (IPV6 || IPV6=n) to forbid the case of modular ipv6 but built-in ocrdma (which can't work, because ocrdma calls ipv6 functions). Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Roland Dreier <roland@purestorage.com> --- OK, added this to my tree, should fix this. Thanks, Roland drivers/infiniband/hw/ocrdma/Kconfig | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 29 ++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/drivers/infiniband/hw/ocrdma/Kconfig b/drivers/infiniband/hw/ocrdma/Kconfig index cf99342..b5b6056 100644 --- a/drivers/infiniband/hw/ocrdma/Kconfig +++ b/drivers/infiniband/hw/ocrdma/Kconfig @@ -1,6 +1,6 @@ config INFINIBAND_OCRDMA tristate "Emulex One Connect HCA support" - depends on ETHERNET && NETDEVICES && PCI + depends on ETHERNET && NETDEVICES && PCI && (IPV6 || IPV6=n) select NET_VENDOR_EMULEX select BE2NET ---help--- diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c index 0bc1efb..a20d16e 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c @@ -51,12 +51,6 @@ static DEFINE_SPINLOCK(ocrdma_devlist_lock); static DEFINE_IDR(ocrdma_dev_id); static union ib_gid ocrdma_zero_sgid; -static int ocrdma_inet6addr_event(struct notifier_block *, - unsigned long, void *); - -static struct notifier_block ocrdma_inet6addr_notifier = { - .notifier_call = ocrdma_inet6addr_event -}; static int ocrdma_get_instance(void) { @@ -204,6 +198,8 @@ static int ocrdma_build_sgid_tbl(struct ocrdma_dev *dev) return 0; } +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) + static int ocrdma_inet6addr_event(struct notifier_block *notifier, unsigned long event, void *ptr) { @@ -259,6 +255,12 @@ static int ocrdma_inet6addr_event(struct notifier_block *notifier, return NOTIFY_OK; } +static struct notifier_block ocrdma_inet6addr_notifier = { + .notifier_call = ocrdma_inet6addr_event +}; + +#endif /* IPV6 */ + static enum rdma_link_layer ocrdma_link_layer(struct ib_device *device, u8 port_num) { @@ -541,23 +543,34 @@ static struct ocrdma_driver ocrdma_drv = { .state_change_handler = ocrdma_event_handler, }; +static void ocrdma_unregister_inet6addr_notifier(void) +{ +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) + unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); +#endif +} + static int __init ocrdma_init_module(void) { int status; +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) status = register_inet6addr_notifier(&ocrdma_inet6addr_notifier); if (status) return status; +#endif + status = be_roce_register_driver(&ocrdma_drv); if (status) - unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); + ocrdma_unregister_inet6addr_notifier(); + return status; } static void __exit ocrdma_exit_module(void) { be_roce_unregister_driver(&ocrdma_drv); - unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); + ocrdma_unregister_inet6addr_notifier(); } module_init(ocrdma_init_module); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <1335999060-23779-1-git-send-email-roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>]
* Re: [PATCH] RDMA/ocrdma: Fix build with IPV6=n [not found] ` <1335999060-23779-1-git-send-email-roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> @ 2012-05-03 0:29 ` Randy Dunlap 0 siblings, 0 replies; 4+ messages in thread From: Randy Dunlap @ 2012-05-03 0:29 UTC (permalink / raw) To: Roland Dreier Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, linux-next-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA On 05/02/12 15:51, Roland Dreier wrote: > From: Roland Dreier <roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org> > > When IPV6 is not enabled: > > ERROR: "register_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! > ERROR: "unregister_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! > > Fix this by wrapping the inet6 calls in #ifdef IPV6. Also make the > ocrdma module depend on (IPV6 || IPV6=n) to forbid the case of modular > ipv6 but built-in ocrdma (which can't work, because ocrdma calls ipv6 > functions). > > Reported-by: Randy Dunlap <rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> > Signed-off-by: Roland Dreier <roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org> Acked-by: Randy Dunlap <rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org> Thanks. > --- > OK, added this to my tree, should fix this. > > Thanks, > Roland > > drivers/infiniband/hw/ocrdma/Kconfig | 2 +- > drivers/infiniband/hw/ocrdma/ocrdma_main.c | 29 ++++++++++++++++++++-------- > 2 files changed, 22 insertions(+), 9 deletions(-) > > diff --git a/drivers/infiniband/hw/ocrdma/Kconfig b/drivers/infiniband/hw/ocrdma/Kconfig > index cf99342..b5b6056 100644 > --- a/drivers/infiniband/hw/ocrdma/Kconfig > +++ b/drivers/infiniband/hw/ocrdma/Kconfig > @@ -1,6 +1,6 @@ > config INFINIBAND_OCRDMA > tristate "Emulex One Connect HCA support" > - depends on ETHERNET && NETDEVICES && PCI > + depends on ETHERNET && NETDEVICES && PCI && (IPV6 || IPV6=n) > select NET_VENDOR_EMULEX > select BE2NET > ---help--- > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c > index 0bc1efb..a20d16e 100644 > --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c > @@ -51,12 +51,6 @@ static DEFINE_SPINLOCK(ocrdma_devlist_lock); > static DEFINE_IDR(ocrdma_dev_id); > > static union ib_gid ocrdma_zero_sgid; > -static int ocrdma_inet6addr_event(struct notifier_block *, > - unsigned long, void *); > - > -static struct notifier_block ocrdma_inet6addr_notifier = { > - .notifier_call = ocrdma_inet6addr_event > -}; > > static int ocrdma_get_instance(void) > { > @@ -204,6 +198,8 @@ static int ocrdma_build_sgid_tbl(struct ocrdma_dev *dev) > return 0; > } > > +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) > + > static int ocrdma_inet6addr_event(struct notifier_block *notifier, > unsigned long event, void *ptr) > { > @@ -259,6 +255,12 @@ static int ocrdma_inet6addr_event(struct notifier_block *notifier, > return NOTIFY_OK; > } > > +static struct notifier_block ocrdma_inet6addr_notifier = { > + .notifier_call = ocrdma_inet6addr_event > +}; > + > +#endif /* IPV6 */ > + > static enum rdma_link_layer ocrdma_link_layer(struct ib_device *device, > u8 port_num) > { > @@ -541,23 +543,34 @@ static struct ocrdma_driver ocrdma_drv = { > .state_change_handler = ocrdma_event_handler, > }; > > +static void ocrdma_unregister_inet6addr_notifier(void) > +{ > +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) > + unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); > +#endif > +} > + > static int __init ocrdma_init_module(void) > { > int status; > > +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) > status = register_inet6addr_notifier(&ocrdma_inet6addr_notifier); > if (status) > return status; > +#endif > + > status = be_roce_register_driver(&ocrdma_drv); > if (status) > - unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); > + ocrdma_unregister_inet6addr_notifier(); > + > return status; > } > > static void __exit ocrdma_exit_module(void) > { > be_roce_unregister_driver(&ocrdma_drv); > - unregister_inet6addr_notifier(&ocrdma_inet6addr_notifier); > + ocrdma_unregister_inet6addr_notifier(); > } > > module_init(ocrdma_init_module); -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-05-03 0:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20120427161146.95422142968526faaff615d4@canb.auug.org.au>
[not found] ` <20120427161146.95422142968526faaff615d4-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>
2012-04-27 16:56 ` inux-next: Tree for Apr 27 (infiniband/hw/ocrdma) Randy Dunlap
[not found] ` <4F9ACFC4.6010002-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org>
2012-04-27 23:54 ` Roland Dreier
2012-05-02 22:51 ` [PATCH] RDMA/ocrdma: Fix build with IPV6=n Roland Dreier
[not found] ` <1335999060-23779-1-git-send-email-roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-05-03 0:29 ` Randy Dunlap
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox