diff --git a/[refs] b/[refs] index 265bcff75152..9557eee75654 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4200b66cbf6f4970dd7e192cc929cbccae12a4ca +refs/heads/master: f88c480dac88a754f84e943cb5539d59cda3c089 diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 2bbe40ea4d10..7c8392e1797d 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -2173,7 +2173,7 @@ S: Maintained KDUMP P: Vivek Goyal -M: vgoyal@redhat.com +M: vgoyal@in.ibm.com P: Haren Myneni M: hbabu@us.ibm.com L: kexec@lists.infradead.org diff --git a/trunk/arch/um/Kconfig.i386 b/trunk/arch/um/Kconfig.i386 index 717f5d3440e3..e0ac74e5d4c4 100644 --- a/trunk/arch/um/Kconfig.i386 +++ b/trunk/arch/um/Kconfig.i386 @@ -8,13 +8,6 @@ config UML_X86 bool default y -config X86_32 - bool - default y - -config RWSEM_XCHGADD_ALGORITHM - def_bool y - config 64BIT bool default n diff --git a/trunk/arch/um/drivers/chan_user.c b/trunk/arch/um/drivers/chan_user.c index 025764089ac8..b88e93b3a39f 100644 --- a/trunk/arch/um/drivers/chan_user.c +++ b/trunk/arch/um/drivers/chan_user.c @@ -74,16 +74,10 @@ void generic_free(void *data) int generic_console_write(int fd, const char *buf, int n) { - sigset_t old, no_sigio; struct termios save, new; int err; if (isatty(fd)) { - sigemptyset(&no_sigio); - sigaddset(&no_sigio, SIGIO); - if (sigprocmask(SIG_BLOCK, &no_sigio, &old)) - goto error; - CATCH_EINTR(err = tcgetattr(fd, &save)); if (err) goto error; @@ -103,11 +97,8 @@ int generic_console_write(int fd, const char *buf, int n) * Restore raw mode, in any case; we *must* ignore any error apart * EINTR, except for debug. */ - if (isatty(fd)) { + if (isatty(fd)) CATCH_EINTR(tcsetattr(fd, TCSAFLUSH, &save)); - sigprocmask(SIG_SETMASK, &old, NULL); - } - return err; error: return -errno; diff --git a/trunk/arch/um/os-Linux/time.c b/trunk/arch/um/os-Linux/time.c index e49280599465..ef02d941c2ad 100644 --- a/trunk/arch/um/os-Linux/time.c +++ b/trunk/arch/um/os-Linux/time.c @@ -77,7 +77,6 @@ long long os_nsecs(void) #ifdef UML_CONFIG_NO_HZ static int after_sleep_interval(struct timespec *ts) { - return 0; } #else static inline long long timespec_to_us(const struct timespec *ts) diff --git a/trunk/drivers/ata/pata_bf54x.c b/trunk/drivers/ata/pata_bf54x.c index 81db405a5445..088a41f4e656 100644 --- a/trunk/drivers/ata/pata_bf54x.c +++ b/trunk/drivers/ata/pata_bf54x.c @@ -1489,6 +1489,8 @@ static int __devinit bfin_atapi_probe(struct platform_device *pdev) int board_idx = 0; struct resource *res; struct ata_host *host; + unsigned int fsclk = get_sclk(); + int udma_mode = 5; const struct ata_port_info *ppi[] = { &bfin_port_info[board_idx], NULL }; @@ -1507,6 +1509,11 @@ static int __devinit bfin_atapi_probe(struct platform_device *pdev) if (res == NULL) return -EINVAL; + while (bfin_port_info[board_idx].udma_mask>0 && udma_fsclk[udma_mode] > fsclk) { + udma_mode--; + bfin_port_info[board_idx].udma_mask >>= 1; + } + /* * Now that that's out of the way, wire up the port.. */ diff --git a/trunk/drivers/crypto/Kconfig b/trunk/drivers/crypto/Kconfig index ddd3a259cea1..5fd6688a444a 100644 --- a/trunk/drivers/crypto/Kconfig +++ b/trunk/drivers/crypto/Kconfig @@ -12,7 +12,7 @@ if CRYPTO_HW config CRYPTO_DEV_PADLOCK tristate "Support for VIA PadLock ACE" - depends on X86_32 && !UML + depends on X86_32 select CRYPTO_ALGAPI help Some VIA processors come with an integrated crypto engine diff --git a/trunk/drivers/isdn/i4l/isdn_common.c b/trunk/drivers/isdn/i4l/isdn_common.c index d6952959d72a..c6df2925ebd0 100644 --- a/trunk/drivers/isdn/i4l/isdn_common.c +++ b/trunk/drivers/isdn/i4l/isdn_common.c @@ -1515,7 +1515,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg) if (copy_from_user(&iocts, argp, sizeof(isdn_ioctl_struct))) return -EFAULT; - iocts.drvid[sizeof(iocts.drvid)-1] = 0; if (strlen(iocts.drvid)) { if ((p = strchr(iocts.drvid, ','))) *p = 0; @@ -1600,7 +1599,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg) if (copy_from_user(&iocts, argp, sizeof(isdn_ioctl_struct))) return -EFAULT; - iocts.drvid[sizeof(iocts.drvid)-1] = 0; if (strlen(iocts.drvid)) { drvidx = -1; for (i = 0; i < ISDN_MAX_DRIVERS; i++) @@ -1645,7 +1643,7 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg) } else { p = (char __user *) iocts.arg; for (i = 0; i < 10; i++) { - snprintf(bname, sizeof(bname), "%s%s", + sprintf(bname, "%s%s", strlen(dev->drv[drvidx]->msn2eaz[i]) ? dev->drv[drvidx]->msn2eaz[i] : "_", (i < 9) ? "," : "\0"); @@ -1675,7 +1673,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg) char *p; if (copy_from_user(&iocts, argp, sizeof(isdn_ioctl_struct))) return -EFAULT; - iocts.drvid[sizeof(iocts.drvid)-1] = 0; if (strlen(iocts.drvid)) { if ((p = strchr(iocts.drvid, ','))) *p = 0; diff --git a/trunk/kernel/Kconfig.instrumentation b/trunk/kernel/Kconfig.instrumentation index 2ea1e347df45..f5f2c769d95e 100644 --- a/trunk/kernel/Kconfig.instrumentation +++ b/trunk/kernel/Kconfig.instrumentation @@ -21,7 +21,7 @@ config PROFILING config OPROFILE tristate "OProfile system profiling (EXPERIMENTAL)" depends on PROFILING - depends on (ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64) && !UML + depends on ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64 help OProfile is a profiling system capable of profiling the whole system, include the kernel, kernel modules, libraries, @@ -32,7 +32,7 @@ config OPROFILE config KPROBES bool "Kprobes" depends on KALLSYMS && MODULES - depends on (X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32) && !UML + depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 help Kprobes allows you to trap at almost any kernel address and execute a callback function. register_kprobe() establishes