--- zzzz-none-000/linux-4.9.276/net/atm/common.c 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/net/atm/common.c 2023-04-05 08:19:02.000000000 +0000 @@ -141,6 +141,24 @@ .release_cb = vcc_release_cb, }; +#if IS_ENABLED(CONFIG_ATM_MPOA_INTEL_DSL_PHY_SUPPORT) +void (*atm_hook_mpoa_setup)(struct atm_vcc *, int, int, struct net_device *) = NULL; +EXPORT_SYMBOL(atm_hook_mpoa_setup); +#endif + +#ifdef CONFIG_ATM_OAM +int (*push_oam_pfn)(struct atm_vcc *atmvcc, void *cell) = NULL; +EXPORT_SYMBOL(push_oam_pfn); + +int push_oam(struct atm_vcc *atmvcc, void *cell) +{ + if (push_oam_pfn != NULL) + return push_oam_pfn(atmvcc, cell); + return -1; +} +EXPORT_SYMBOL(push_oam); +#endif + int vcc_create(struct net *net, struct socket *sock, int protocol, int family, int kern) { struct sock *sk; @@ -165,8 +183,11 @@ atomic_set(&sk->sk_rmem_alloc, 0); vcc->push = NULL; vcc->pop = NULL; - vcc->owner = NULL; +#ifdef CONFIG_ATM_OAM + vcc->push_oam = push_oam; +#else vcc->push_oam = NULL; +#endif vcc->release_cb = NULL; vcc->vpi = vcc->vci = 0; /* no VCI/VPI yet */ vcc->atm_options = vcc->aal_options = 0;