On Wed, Aug 06, 2025 at 05:41:21PM +0200, Alexandra Winter wrote: ... > diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c ... > @@ -33,18 +32,18 @@ static void smcd_register_dev(struct dibs_dev *dibs); > static void smcd_unregister_dev(struct dibs_dev *dibs); > #if IS_ENABLED(CONFIG_ISM) > static void smcd_handle_event(struct ism_dev *ism, struct ism_event *event); > -static void smcd_handle_irq(struct ism_dev *ism, unsigned int dmbno, > +static void smcd_handle_irq(struct dibs_dev *dibs, unsigned int dmbno, > u16 dmbemask); Hi Alexandria, smcd_handle_irq is only declared (and defined) if CONFIG_ISM is enabled. > > static struct ism_client smc_ism_client = { > .name = "SMC-D", > .handle_event = smcd_handle_event, > - .handle_irq = smcd_handle_irq, > }; > #endif > static struct dibs_client_ops smc_client_ops = { > .add_dev = smcd_register_dev, > .del_dev = smcd_unregister_dev, > + .handle_irq = smcd_handle_irq, But here smcd_handle_irq is used regardless of if CONFIG_ISM is enabled. I believe this is addressed by the following patch in this series. However, this does result ina transient build failure. And they should be avoided as they break bisection. > }; > > static struct dibs_client smc_dibs_client = { ...