diff --git a/[refs] b/[refs] index 1d79777f4351..2248f04bade4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1e5de2837c166535f9bb4232bfe97ea1f9fc7a1c +refs/heads/master: 4c6c914e4c2e0f91775ce4051b5a800c55175462 diff --git a/trunk/drivers/ide/pci/sis5513.c b/trunk/drivers/ide/pci/sis5513.c index bb6cc4aedd63..ec0adad9ef61 100644 --- a/trunk/drivers/ide/pci/sis5513.c +++ b/trunk/drivers/ide/pci/sis5513.c @@ -872,6 +872,7 @@ static int __devinit sis5513_init_one(struct pci_dev *dev, const struct pci_devi static struct pci_device_id sis5513_pci_tbl[] = { { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5513, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5518, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_1180, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { 0, }, }; MODULE_DEVICE_TABLE(pci, sis5513_pci_tbl); diff --git a/trunk/fs/utimes.c b/trunk/fs/utimes.c index b3c88952465f..480f7c8c29da 100644 --- a/trunk/fs/utimes.c +++ b/trunk/fs/utimes.c @@ -106,16 +106,9 @@ long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags if (IS_IMMUTABLE(inode)) goto dput_and_out; - if (current->fsuid != inode->i_uid) { - if (f) { - if (!(f->f_mode & FMODE_WRITE)) - goto dput_and_out; - } else { - error = vfs_permission(&nd, MAY_WRITE); - if (error) - goto dput_and_out; - } - } + if (current->fsuid != inode->i_uid && + (error = vfs_permission(&nd, MAY_WRITE)) != 0) + goto dput_and_out; } mutex_lock(&inode->i_mutex); error = notify_change(dentry, &newattrs); diff --git a/trunk/include/linux/pci_ids.h b/trunk/include/linux/pci_ids.h index 9a03b47da603..5b1c9994f89a 100644 --- a/trunk/include/linux/pci_ids.h +++ b/trunk/include/linux/pci_ids.h @@ -661,6 +661,7 @@ #define PCI_DEVICE_ID_SI_965 0x0965 #define PCI_DEVICE_ID_SI_966 0x0966 #define PCI_DEVICE_ID_SI_968 0x0968 +#define PCI_DEVICE_ID_SI_1180 0x1180 #define PCI_DEVICE_ID_SI_5511 0x5511 #define PCI_DEVICE_ID_SI_5513 0x5513 #define PCI_DEVICE_ID_SI_5517 0x5517 diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index d1d9814f99dd..edb1b0b5cc8d 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -1786,6 +1786,7 @@ struct page *read_cache_page_async(struct address_space *mapping, page = __read_cache_page(mapping, index, filler, data); if (IS_ERR(page)) return page; + mark_page_accessed(page); if (PageUptodate(page)) goto out;