June 22, 2021
11:58 a.m.
This sends IRP_MN_SURPRISE_REMOVAL twice to each child; I believe you want to call send_surprise_removal() everywhere you call remove_device() instead.