Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6

* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
PM / Hibernate: Replace bdget call with simple atomic_inc of i_count
PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk

+21 -2
+8
drivers/acpi/sleep.c
··· 397 397 }, 398 398 }, 399 399 { 400 + .callback = init_set_sci_en_on_resume, 401 + .ident = "Hewlett-Packard HP G7000 Notebook PC", 402 + .matches = { 403 + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), 404 + DMI_MATCH(DMI_PRODUCT_NAME, "HP G7000 Notebook PC"), 405 + }, 406 + }, 407 + { 400 408 .callback = init_old_suspend_ordering, 401 409 .ident = "Panasonic CF51-2L", 402 410 .matches = {
+10
fs/block_dev.c
··· 564 564 565 565 EXPORT_SYMBOL(bdget); 566 566 567 + /** 568 + * bdgrab -- Grab a reference to an already referenced block device 569 + * @bdev: Block device to grab a reference to. 570 + */ 571 + struct block_device *bdgrab(struct block_device *bdev) 572 + { 573 + atomic_inc(&bdev->bd_inode->i_count); 574 + return bdev; 575 + } 576 + 567 577 long nr_blockdev_pages(void) 568 578 { 569 579 struct block_device *bdev;
+1
include/linux/fs.h
··· 1946 1946 extern int register_blkdev(unsigned int, const char *); 1947 1947 extern void unregister_blkdev(unsigned int, const char *); 1948 1948 extern struct block_device *bdget(dev_t); 1949 + extern struct block_device *bdgrab(struct block_device *bdev); 1949 1950 extern void bd_set_size(struct block_device *, loff_t size); 1950 1951 extern void bd_forget(struct inode *inode); 1951 1952 extern void bdput(struct block_device *);
+2 -2
mm/swapfile.c
··· 753 753 754 754 if (!bdev) { 755 755 if (bdev_p) 756 - *bdev_p = bdget(sis->bdev->bd_dev); 756 + *bdev_p = bdgrab(sis->bdev); 757 757 758 758 spin_unlock(&swap_lock); 759 759 return i; ··· 765 765 struct swap_extent, list); 766 766 if (se->start_block == offset) { 767 767 if (bdev_p) 768 - *bdev_p = bdget(sis->bdev->bd_dev); 768 + *bdev_p = bdgrab(sis->bdev); 769 769 770 770 spin_unlock(&swap_lock); 771 771 bdput(bdev);