2015-02-10 22:58 GMT+09:00 Gilad Broner <gbroner@xxxxxxxxxxxxxx>: > @@ -5760,6 +5963,8 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) > > async_schedule(ufshcd_async_scan, hba); > > + UFSDBG_ADD_DEBUGFS(hba); > + > return 0; > > out_remove_scsi_host: > @@ -5769,6 +5974,7 @@ exit_gating: > out_disable: > hba->is_irq_enabled = false; > scsi_host_put(host); > + UFSDBG_REMOVE_DEBUGFS(hba); > ufshcd_hba_exit(hba); > out_error: > return err; UFSDBG_REMOVE_DEBUGFS() is not called in the driver unloading path. So ufs debugfs directory is not removed when unloading driver. It should be called in ufshcd_remove(). BTW, do we really need UFSDBG_ADD_DEBUGFS() and UFSDBG_REMOVE_DEBUGFS() macros? We can use static inline functions in ufs-debugfs.h when !CONFIG_DEBUG_FS. #ifdef CONFIG_DEBUG_FS void ufsdbg_add_debugfs(struct ufs_hba *hba); void ufsdbg_remove_debugfs(struct ufs_hba *hba); #else static inline void ufsdbg_add_debugfs(struct ufs_hba *hba) { } static inline void ufsdbg_remove_debugfs(struct ufs_hba *hba) { } #endif -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html