Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 40914
b: refs/heads/master
c: b5bf24b
h: refs/heads/master
v: v3
  • Loading branch information
Alan Cox authored and Jeff Garzik committed Nov 14, 2006
1 parent 0a2ab35 commit 6600241
Show file tree
Hide file tree
Showing 20 changed files with 82 additions and 102 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba
refs/heads/master: b5bf24b94c65536d3cc2bf9039ab05b3967f7b7f
10 changes: 1 addition & 9 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3072,13 +3072,6 @@ L: video4linux-list@redhat.com
W: http://www.linux-projects.org
S: Maintained

USB GADGET/PERIPHERAL SUBSYSTEM
P: David Brownell
M: dbrownell@users.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
W: http://www.linux-usb.org/gadget
S: Maintained

USB HID/HIDBP DRIVERS
P: Vojtech Pavlik
M: vojtech@suse.cz
Expand Down Expand Up @@ -3262,11 +3255,10 @@ L: linux-usb-users@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
S: Maintained

USB "USBNET" DRIVER FRAMEWORK
USB "USBNET" DRIVER
P: David Brownell
M: dbrownell@users.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
W: http://www.linux-usb.org/usbnet
S: Maintained

USB W996[87]CF DRIVER
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/i386/pci/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -255,13 +255,13 @@ static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, i
*/
static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
{
static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
}

static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
{
static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
return 1;
}
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/ia64/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,8 @@ huge_pte_offset (struct mm_struct *mm, unsigned long addr)
* Don't actually need to do any preparation, but need to make sure
* the address is in the right region.
*/
int prepare_hugepage_range(unsigned long addr, unsigned long len, pgoff_t pgoff)
int prepare_hugepage_range(unsigned long addr, unsigned long len)
{
if (pgoff & (~HPAGE_MASK >> PAGE_SHIFT))
return -EINVAL;
if (len & ~HPAGE_MASK)
return -EINVAL;
if (addr & ~HPAGE_MASK)
Expand Down
8 changes: 2 additions & 6 deletions trunk/arch/powerpc/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,15 +491,11 @@ static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas)
return 0;
}

int prepare_hugepage_range(unsigned long addr, unsigned long len, pgoff_t pgoff)
int prepare_hugepage_range(unsigned long addr, unsigned long len)
{
int err = 0;

if (pgoff & (~HPAGE_MASK >> PAGE_SHIFT))
return -EINVAL;
if (len & ~HPAGE_MASK)
return -EINVAL;
if (addr & ~HPAGE_MASK)
if ( (addr+len) < addr )
return -EINVAL;

if (addr < 0x100000000UL)
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -5957,7 +5957,7 @@ static void __exit ata_exit(void)
destroy_workqueue(ata_aux_wq);
}

subsys_initcall(ata_init);
module_init(ata_init);
module_exit(ata_exit);

static unsigned long ratelimit_time;
Expand Down
19 changes: 16 additions & 3 deletions trunk/drivers/ata/pata_hpt37x.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <linux/libata.h>

#define DRV_NAME "pata_hpt37x"
#define DRV_VERSION "0.5"
#define DRV_VERSION "0.5.1"

struct hpt_clock {
u8 xfer_speed;
Expand Down Expand Up @@ -453,7 +453,13 @@ static int hpt37x_pre_reset(struct ata_port *ap)
{
u8 scr2, ata66;
struct pci_dev *pdev = to_pci_dev(ap->host->dev);

static const struct pci_bits hpt37x_enable_bits[] = {
{ 0x50, 1, 0x04, 0x04 },
{ 0x54, 1, 0x04, 0x04 }
};
if (!pci_test_config_bits(pdev, &hpt37x_enable_bits[ap->port_no]))
return -ENOENT;

pci_read_config_byte(pdev, 0x5B, &scr2);
pci_write_config_byte(pdev, 0x5B, scr2 & ~0x01);
/* Cable register now active */
Expand Down Expand Up @@ -488,10 +494,17 @@ static void hpt37x_error_handler(struct ata_port *ap)

static int hpt374_pre_reset(struct ata_port *ap)
{
static const struct pci_bits hpt37x_enable_bits[] = {
{ 0x50, 1, 0x04, 0x04 },
{ 0x54, 1, 0x04, 0x04 }
};
u16 mcr3, mcr6;
u8 ata66;

struct pci_dev *pdev = to_pci_dev(ap->host->dev);

if (!pci_test_config_bits(pdev, &hpt37x_enable_bits[ap->port_no]))
return -ENOENT;

/* Do the extra channel work */
pci_read_config_word(pdev, 0x52, &mcr3);
pci_read_config_word(pdev, 0x56, &mcr6);
Expand Down
6 changes: 0 additions & 6 deletions trunk/drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -1300,12 +1300,6 @@ static void cciss_softirq_done(struct request *rq)

complete_buffers(rq->bio, rq->errors);

if (blk_fs_request(rq)) {
const int rw = rq_data_dir(rq);

disk_stat_add(rq->rq_disk, sectors[rw], rq->nr_sectors);
}

#ifdef CCISS_DEBUG
printk("Done with %p\n", rq);
#endif /* CCISS_DEBUG */
Expand Down
15 changes: 4 additions & 11 deletions trunk/drivers/block/cpqarray.c
Original file line number Diff line number Diff line change
Expand Up @@ -998,7 +998,6 @@ static inline void complete_buffers(struct bio *bio, int ok)
*/
static inline void complete_command(cmdlist_t *cmd, int timeout)
{
struct request *rq = cmd->rq;
int ok=1;
int i, ddir;

Expand Down Expand Up @@ -1030,18 +1029,12 @@ static inline void complete_command(cmdlist_t *cmd, int timeout)
pci_unmap_page(hba[cmd->ctlr]->pci_dev, cmd->req.sg[i].addr,
cmd->req.sg[i].size, ddir);

complete_buffers(rq->bio, ok);
complete_buffers(cmd->rq->bio, ok);

if (blk_fs_request(rq)) {
const int rw = rq_data_dir(rq);
add_disk_randomness(cmd->rq->rq_disk);

disk_stat_add(rq->rq_disk, sectors[rw], rq->nr_sectors);
}

add_disk_randomness(rq->rq_disk);

DBGPX(printk("Done with %p\n", rq););
end_that_request_last(rq, ok ? 1 : -EIO);
DBGPX(printk("Done with %p\n", cmd->rq););
end_that_request_last(cmd->rq, ok ? 1 : -EIO);
}

/*
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ide/legacy/hd.c
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ static void read_intr(void)
#ifdef DEBUG
printk("%s: read: sector %ld, remaining = %ld, buffer=%p\n",
req->rq_disk->disk_name, req->sector, req->nr_sectors,
req->buffer+512);
req->buffer+512));
#endif
if (req->current_nr_sectors <= 0)
end_request(req, 1);
Expand Down
27 changes: 27 additions & 0 deletions trunk/drivers/pci/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -1460,6 +1460,33 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2609, quirk_intel_pcie_pm);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260a, quirk_intel_pcie_pm);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);

/*
* Fixup the cardbus bridges on the IBM Dock II docking station
*/
static void __devinit quirk_ibm_dock2_cardbus(struct pci_dev *dev)
{
u32 val;

/*
* tie the 2 interrupt pins to INTA, and configure the
* multifunction routing register to handle this.
*/
if ((dev->subsystem_vendor == PCI_VENDOR_ID_IBM) &&
(dev->subsystem_device == 0x0148)) {
printk(KERN_INFO "PCI: Found IBM Dock II Cardbus Bridge "
"applying quirk\n");
pci_read_config_dword(dev, 0x8c, &val);
val = ((val & 0xffffff00) | 0x1002);
pci_write_config_dword(dev, 0x8c, val);
pci_read_config_dword(dev, 0x80, &val);
val = ((val & 0x00ffff00) | 0x2864c077);
pci_write_config_dword(dev, 0x80, val);
}
}

DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1420,
quirk_ibm_dock2_cardbus);

static void __devinit quirk_netmos(struct pci_dev *dev)
{
unsigned int num_parallel = (dev->subsystem_device & 0xf0) >> 4;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/video/nvidia/nv_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ static void nv10GetConfig(struct nvidia_par *par)
#endif

dev = pci_find_slot(0, 1);
if ((par->Chipset & 0xffff) == 0x01a0) {
if ((par->Chipset && 0xffff) == 0x01a0) {
int amt = 0;

pci_read_config_dword(dev, 0x7c, &amt);
Expand Down
14 changes: 1 addition & 13 deletions trunk/fs/autofs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,6 @@ void autofs_kill_sb(struct super_block *sb)
struct autofs_sb_info *sbi = autofs_sbi(sb);
unsigned int n;

/*
* In the event of a failure in get_sb_nodev the superblock
* info is not present so nothing else has been setup, so
* just exit when we are called from deactivate_super.
*/
if (!sbi)
return;

if ( !sbi->catatonic )
autofs_catatonic_mode(sbi); /* Free wait queues, close pipe */

Expand Down Expand Up @@ -144,8 +136,7 @@ int autofs_fill_super(struct super_block *s, void *data, int silent)

s->s_fs_info = sbi;
sbi->magic = AUTOFS_SBI_MAGIC;
sbi->pipe = NULL;
sbi->catatonic = 1;
sbi->catatonic = 0;
sbi->exp_timeout = 0;
sbi->oz_pgrp = process_group(current);
autofs_initialize_hash(&sbi->dirhash);
Expand Down Expand Up @@ -189,7 +180,6 @@ int autofs_fill_super(struct super_block *s, void *data, int silent)
if ( !pipe->f_op || !pipe->f_op->write )
goto fail_fput;
sbi->pipe = pipe;
sbi->catatonic = 0;

/*
* Success! Install the root dentry now to indicate completion.
Expand All @@ -208,8 +198,6 @@ int autofs_fill_super(struct super_block *s, void *data, int silent)
iput(root_inode);
fail_free:
kfree(sbi);
s->s_fs_info = NULL;
kill_anon_super(s);
fail_unlock:
return -EINVAL;
}
Expand Down
1 change: 0 additions & 1 deletion trunk/fs/autofs/waitq.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ void autofs_catatonic_mode(struct autofs_sb_info *sbi)
wq = nwq;
}
fput(sbi->pipe); /* Close the pipe */
sbi->pipe = NULL;
autofs_hash_dputall(&sbi->dirhash); /* Remove all dentry pointers */
}

Expand Down
17 changes: 1 addition & 16 deletions trunk/fs/autofs4/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,6 @@ static void autofs4_force_release(struct autofs_sb_info *sbi)
struct dentry *this_parent = sbi->sb->s_root;
struct list_head *next;

if (!sbi->sb->s_root)
return;

spin_lock(&dcache_lock);
repeat:
next = this_parent->d_subdirs.next;
Expand Down Expand Up @@ -149,14 +146,6 @@ void autofs4_kill_sb(struct super_block *sb)
{
struct autofs_sb_info *sbi = autofs4_sbi(sb);

/*
* In the event of a failure in get_sb_nodev the superblock
* info is not present so nothing else has been setup, so
* just exit when we are called from deactivate_super.
*/
if (!sbi)
return;

sb->s_fs_info = NULL;

if ( !sbi->catatonic )
Expand Down Expand Up @@ -321,8 +310,7 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
s->s_fs_info = sbi;
sbi->magic = AUTOFS_SBI_MAGIC;
sbi->pipefd = -1;
sbi->pipe = NULL;
sbi->catatonic = 1;
sbi->catatonic = 0;
sbi->exp_timeout = 0;
sbi->oz_pgrp = process_group(current);
sbi->sb = s;
Expand Down Expand Up @@ -400,7 +388,6 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
goto fail_fput;
sbi->pipe = pipe;
sbi->pipefd = pipefd;
sbi->catatonic = 0;

/*
* Success! Install the root dentry now to indicate completion.
Expand All @@ -425,8 +412,6 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
kfree(ino);
fail_free:
kfree(sbi);
s->s_fs_info = NULL;
kill_anon_super(s);
fail_unlock:
return -EINVAL;
}
Expand Down
6 changes: 4 additions & 2 deletions trunk/fs/autofs4/waitq.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@ void autofs4_catatonic_mode(struct autofs_sb_info *sbi)
wake_up_interruptible(&wq->queue);
wq = nwq;
}
fput(sbi->pipe); /* Close the pipe */
sbi->pipe = NULL;
if (sbi->pipe) {
fput(sbi->pipe); /* Close the pipe */
sbi->pipe = NULL;
}
}

static int autofs4_write(struct file *file, const void *addr, int bytes)
Expand Down
21 changes: 13 additions & 8 deletions trunk/fs/hugetlbfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,19 +62,24 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma)
loff_t len, vma_len;
int ret;

/*
* vma alignment has already been checked by prepare_hugepage_range.
* If you add any error returns here, do so after setting VM_HUGETLB,
* so is_vm_hugetlb_page tests below unmap_region go the right way
* when do_mmap_pgoff unwinds (may be important on powerpc and ia64).
*/
vma->vm_flags |= VM_HUGETLB | VM_RESERVED;
vma->vm_ops = &hugetlb_vm_ops;
if (vma->vm_pgoff & (HPAGE_SIZE / PAGE_SIZE - 1))
return -EINVAL;

if (vma->vm_start & ~HPAGE_MASK)
return -EINVAL;

if (vma->vm_end & ~HPAGE_MASK)
return -EINVAL;

if (vma->vm_end - vma->vm_start < HPAGE_SIZE)
return -EINVAL;

vma_len = (loff_t)(vma->vm_end - vma->vm_start);

mutex_lock(&inode->i_mutex);
file_accessed(file);
vma->vm_flags |= VM_HUGETLB | VM_RESERVED;
vma->vm_ops = &hugetlb_vm_ops;

ret = -ENOMEM;
len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT);
Expand Down
Loading

0 comments on commit 6600241

Please sign in to comment.