Merge master.kernel.org:/home/rmk/linux-2.6-mmc

* master.kernel.org:/home/rmk/linux-2.6-mmc:
  [BLOCK] Fix oops on removal of SD/MMC card
This commit is contained in:
Linus Torvalds 2006-05-05 14:53:48 -07:00
Родитель 568cb09b9d 56cf6504fc
Коммит 91ef5d2d6e
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -182,6 +182,7 @@ static int exact_lock(dev_t dev, void *data)
*/ */
void add_disk(struct gendisk *disk) void add_disk(struct gendisk *disk)
{ {
get_device(disk->driverfs_dev);
disk->flags |= GENHD_FL_UP; disk->flags |= GENHD_FL_UP;
blk_register_region(MKDEV(disk->major, disk->first_minor), blk_register_region(MKDEV(disk->major, disk->first_minor),
disk->minors, NULL, exact_match, exact_lock, disk); disk->minors, NULL, exact_match, exact_lock, disk);
@ -427,6 +428,7 @@ static struct attribute * default_attrs[] = {
static void disk_release(struct kobject * kobj) static void disk_release(struct kobject * kobj)
{ {
struct gendisk *disk = to_disk(kobj); struct gendisk *disk = to_disk(kobj);
put_device(disk->driverfs_dev);
kfree(disk->random); kfree(disk->random);
kfree(disk->part); kfree(disk->part);
free_disk_stats(disk); free_disk_stats(disk);