On Thu, Jul 22, 2021 at 04:41:28PM +0800, Ming Lei wrote: > > device_del(pdev); > > out_put: > > put_device(pdev); > > +out_put_disk: > > + put_disk(disk); > > put_disk() is only needed for failure of bdev_alloc(). Once bdev->bd_device > is initialized, the disk reference will be dropped via part_release(). Indeed.