On Mon, Dec 19, 2022 at 04:37:10PM +0100, Pratyush Yadav wrote: > The removal of "hotplug-status" has moved around a bit. First it was > moved from netback_remove() to hotplug_status_changed() in upstream > commit 1f2565780e9b ("xen-netback: remove 'hotplug-status' once it has > served its purpose"). Then the change was reverted in upstream commit > 0f4558ae9187 ("Revert "xen-netback: remove 'hotplug-status' once it has > served its purpose""), but it moved the removal to backend_disconnect(). > Then the upstream commit c55f34b6aec2 ("xen-netback: only remove > 'hotplug-status' when the vif is actually destroyed") moved it finally > back to netback_remove(). The thing to note being it is removed > unconditionally this time around. > > The story on v5.4.y adds to this confusion. Commit 60e4e3198ce8 ("Revert > "xen-netback: remove 'hotplug-status' once it has served its purpose"") > is backported to v5.4.y but the original commit that it tries to revert > was never present on 5.4. So the backport incorrectly ends up just > adding another xenbus_rm() of "hotplug-status" in backend_disconnect(). > > Now in v5.4.y it is removed in both backend_disconnect() and > netback_remove(). But it should only be removed in netback_remove(), as > the upstream version does. > > Removing "hotplug-status" in backend_disconnect() causes problems when > the frontend unilaterally disconnects, as explained in > c55f34b6aec2 ("xen-netback: only remove 'hotplug-status' when the vif is > actually destroyed"). > > Remove "hotplug-status" in the same place as it is done on the upstream > version to ensure unilateral re-connection of frontend continues to > work. > > Fixes: 60e4e3198ce8 ("Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"") > Signed-off-by: Pratyush Yadav <ptyadav@xxxxxxxxx> > --- > drivers/net/xen-netback/xenbus.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Now queued up, thanks. greg k-h