From: Cong Wang on
Eric W. Biederman wrote:
> Amerigo Wang <amwang(a)redhat.com> writes:
>
>> bond_uninit() is invoked with rtnl_lock held, when it does destroy_workqueue()
>> which will potentially flush all works in this workqueue, if we hold rtnl_lock
>> again in the work function, it will deadlock.
>>
>> So move destroy_workqueue() to destructor where rtnl_lock is not held any more,
>> suggested by Eric.
>
> The error handling on creating a bond device needs to be updated as well.
>

Done.