From 2c8638e7b0ca149a00cc8350785c234fc9330a53 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Wed, 2 Apr 2008 10:35:15 +0900 Subject: [PATCH] --- yaml --- r: 88133 b: refs/heads/master c: a4ba7fe2a6c2b61419b290035bff398ab2591c54 h: refs/heads/master i: 88131: db15cf3ead2389de19d6052ed625b93db98aa0ce v: v3 --- [refs] | 2 +- trunk/drivers/ata/libata-core.c | 2 +- trunk/drivers/parport/parport_pc.c | 3 ++- trunk/fs/buffer.c | 15 +-------------- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index c359b8992ed8..119263665c86 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1be62dc190ebaca331038962c873e7967de6cc4b +refs/heads/master: a4ba7fe2a6c2b61419b290035bff398ab2591c54 diff --git a/trunk/drivers/ata/libata-core.c b/trunk/drivers/ata/libata-core.c index 48519887f94a..2db5c9c9ca10 100644 --- a/trunk/drivers/ata/libata-core.c +++ b/trunk/drivers/ata/libata-core.c @@ -2660,7 +2660,7 @@ int ata_bus_probe(struct ata_port *ap) specific sequence bass-ackwards so that PDIAG- is released by the slave device */ - ata_link_for_each_dev(dev, &ap->link) { + ata_link_for_each_dev_reverse(dev, &ap->link) { if (tries[dev->devno]) dev->class = classes[dev->devno]; diff --git a/trunk/drivers/parport/parport_pc.c b/trunk/drivers/parport/parport_pc.c index a85808938205..d76d37bcb9cc 100644 --- a/trunk/drivers/parport/parport_pc.c +++ b/trunk/drivers/parport/parport_pc.c @@ -1568,8 +1568,9 @@ static void __devinit detect_and_report_it87(void) outb(r | 8, 0x2F); outb(0x02, 0x2E); /* Lock */ outb(0x02, 0x2F); + + release_region(0x2e, 1); } - release_region(0x2e, 1); } #endif /* CONFIG_PARPORT_PC_SUPERIO */ diff --git a/trunk/fs/buffer.c b/trunk/fs/buffer.c index 39ff14403d13..98196327ddf0 100644 --- a/trunk/fs/buffer.c +++ b/trunk/fs/buffer.c @@ -1181,20 +1181,7 @@ __getblk_slow(struct block_device *bdev, sector_t block, int size) void mark_buffer_dirty(struct buffer_head *bh) { WARN_ON_ONCE(!buffer_uptodate(bh)); - - /* - * Very *carefully* optimize the it-is-already-dirty case. - * - * Don't let the final "is it dirty" escape to before we - * perhaps modified the buffer. - */ - if (buffer_dirty(bh)) { - smp_mb(); - if (buffer_dirty(bh)) - return; - } - - if (!test_set_buffer_dirty(bh)) + if (!buffer_dirty(bh) && !test_set_buffer_dirty(bh)) __set_page_dirty(bh->b_page, page_mapping(bh->b_page), 0); }