> +static struct phy_device * > +pse_control_find_phy_by_id(struct pse_controller_dev *pcdev, int id) > +{ > + struct pse_control *psec; > + > + mutex_lock(&pse_list_mutex); > + list_for_each_entry(psec, &pcdev->pse_control_head, list) { > + if (psec->id == id) > + return psec->attached_phydev; The mutex is still locked. I'm surprised your testing did not deadlock, and that none of the automated tools have reported this. Andrew --- pw-bot: cr