mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
Pull linus into release branch
This commit is contained in:
commit
c1a959d8ef
13 changed files with 49 additions and 39 deletions
|
@ -514,7 +514,7 @@ void __init htab_initialize(void)
|
|||
#undef KB
|
||||
#undef MB
|
||||
|
||||
void __init htab_initialize_secondary(void)
|
||||
void htab_initialize_secondary(void)
|
||||
{
|
||||
if (!platform_is_lpar())
|
||||
mtspr(SPRN_SDR1, _SDR1);
|
||||
|
|
|
@ -116,16 +116,16 @@ static int stop_ptraced_child(int pid, void *stack, int exitcode,
|
|||
if(!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) {
|
||||
int exit_with = WEXITSTATUS(status);
|
||||
if (exit_with == 2)
|
||||
printk("check_ptrace : child exited with status 2. "
|
||||
printf("check_ptrace : child exited with status 2. "
|
||||
"Serious trouble happening! Try updating your "
|
||||
"host skas patch!\nDisabling SYSEMU support.");
|
||||
printk("check_ptrace : child exited with exitcode %d, while "
|
||||
printf("check_ptrace : child exited with exitcode %d, while "
|
||||
"expecting %d; status 0x%x", exit_with,
|
||||
exitcode, status);
|
||||
if (mustpanic)
|
||||
panic("\n");
|
||||
else
|
||||
printk("\n");
|
||||
printf("\n");
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ static void __init check_sysemu(void)
|
|||
void *stack;
|
||||
int pid, n, status, count=0;
|
||||
|
||||
printk("Checking syscall emulation patch for ptrace...");
|
||||
printf("Checking syscall emulation patch for ptrace...");
|
||||
sysemu_supported = 0;
|
||||
pid = start_ptraced_child(&stack);
|
||||
|
||||
|
@ -207,10 +207,10 @@ static void __init check_sysemu(void)
|
|||
goto fail_stopped;
|
||||
|
||||
sysemu_supported = 1;
|
||||
printk("OK\n");
|
||||
printf("OK\n");
|
||||
set_using_sysemu(!force_sysemu_disabled);
|
||||
|
||||
printk("Checking advanced syscall emulation patch for ptrace...");
|
||||
printf("Checking advanced syscall emulation patch for ptrace...");
|
||||
pid = start_ptraced_child(&stack);
|
||||
|
||||
if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0,
|
||||
|
@ -246,7 +246,7 @@ static void __init check_sysemu(void)
|
|||
goto fail_stopped;
|
||||
|
||||
sysemu_supported = 2;
|
||||
printk("OK\n");
|
||||
printf("OK\n");
|
||||
|
||||
if ( !force_sysemu_disabled )
|
||||
set_using_sysemu(sysemu_supported);
|
||||
|
@ -255,7 +255,7 @@ static void __init check_sysemu(void)
|
|||
fail:
|
||||
stop_ptraced_child(pid, stack, 1, 0);
|
||||
fail_stopped:
|
||||
printk("missing\n");
|
||||
printf("missing\n");
|
||||
}
|
||||
|
||||
static void __init check_ptrace(void)
|
||||
|
@ -263,7 +263,7 @@ static void __init check_ptrace(void)
|
|||
void *stack;
|
||||
int pid, syscall, n, status;
|
||||
|
||||
printk("Checking that ptrace can change system call numbers...");
|
||||
printf("Checking that ptrace can change system call numbers...");
|
||||
pid = start_ptraced_child(&stack);
|
||||
|
||||
if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, (void *)PTRACE_O_TRACESYSGOOD) < 0)
|
||||
|
@ -292,7 +292,7 @@ static void __init check_ptrace(void)
|
|||
}
|
||||
}
|
||||
stop_ptraced_child(pid, stack, 0, 1);
|
||||
printk("OK\n");
|
||||
printf("OK\n");
|
||||
check_sysemu();
|
||||
}
|
||||
|
||||
|
@ -472,6 +472,8 @@ int can_do_skas(void)
|
|||
|
||||
int have_devanon = 0;
|
||||
|
||||
/* Runs on boot kernel stack - already safe to use printk. */
|
||||
|
||||
void check_devanon(void)
|
||||
{
|
||||
int fd;
|
||||
|
|
|
@ -34,6 +34,11 @@ EXPORT_SYMBOL(strstr);
|
|||
int sym(void); \
|
||||
EXPORT_SYMBOL(sym);
|
||||
|
||||
extern void readdir64(void) __attribute__((weak));
|
||||
EXPORT_SYMBOL(readdir64);
|
||||
extern void truncate64(void) __attribute__((weak));
|
||||
EXPORT_SYMBOL(truncate64);
|
||||
|
||||
#ifdef SUBARCH_i386
|
||||
EXPORT_SYMBOL(vsyscall_ehdr);
|
||||
EXPORT_SYMBOL(vsyscall_end);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
obj-y = bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
|
||||
ptrace_user.o semaphore.o signal.o sigcontext.o stub.o stub_segv.o \
|
||||
syscalls.o sysrq.o sys_call_table.o
|
||||
obj-y := bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
|
||||
ptrace_user.o semaphore.o signal.o sigcontext.o syscalls.o sysrq.o \
|
||||
sys_call_table.o
|
||||
|
||||
obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
|
||||
|
||||
obj-$(CONFIG_HIGHMEM) += highmem.o
|
||||
obj-$(CONFIG_MODULES) += module.o
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
#XXX: why into lib-y?
|
||||
lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o ldt.o mem.o memcpy.o \
|
||||
ptrace.o ptrace_user.o sigcontext.o signal.o stub.o \
|
||||
stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o
|
||||
ptrace.o ptrace_user.o sigcontext.o signal.o syscalls.o \
|
||||
syscall_table.o sysrq.o thunk.o
|
||||
lib-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
|
||||
|
||||
obj-y := ksyms.o
|
||||
obj-$(CONFIG_MODULES) += module.o um_module.o
|
||||
|
|
|
@ -348,7 +348,7 @@ size_zones(unsigned long *z, unsigned long *h,
|
|||
}
|
||||
|
||||
/* Compute holes */
|
||||
w = 0;
|
||||
w = start_pfn;
|
||||
for (i = 0; i < MAX_NR_ZONES; i++) {
|
||||
unsigned long s = w;
|
||||
w += z[i];
|
||||
|
|
|
@ -1312,8 +1312,6 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on)
|
|||
static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
|
||||
{
|
||||
drm_radeon_private_t *dev_priv = dev->dev_private;
|
||||
unsigned int mem_size, aper_size;
|
||||
|
||||
DRM_DEBUG("\n");
|
||||
|
||||
dev_priv->is_pci = init->is_pci;
|
||||
|
@ -1523,13 +1521,8 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
|
|||
+ dev_priv->fb_location) >> 10));
|
||||
|
||||
dev_priv->gart_size = init->gart_size;
|
||||
|
||||
mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE);
|
||||
if (mem_size == 0)
|
||||
mem_size = 0x800000;
|
||||
aper_size = max(RADEON_READ(RADEON_CONFIG_APER_SIZE), mem_size);
|
||||
|
||||
dev_priv->gart_vm_start = dev_priv->fb_location + aper_size;
|
||||
dev_priv->gart_vm_start = dev_priv->fb_location
|
||||
+ RADEON_READ(RADEON_CONFIG_APER_SIZE);
|
||||
|
||||
#if __OS_HAS_AGP
|
||||
if (!dev_priv->is_pci)
|
||||
|
|
|
@ -419,7 +419,7 @@ vcs_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
|
|||
while (this_round > 1) {
|
||||
unsigned short w;
|
||||
|
||||
w = get_unaligned(((const unsigned short *)con_buf0));
|
||||
w = get_unaligned(((unsigned short *)con_buf0));
|
||||
vcs_scr_writew(vc, w, org++);
|
||||
con_buf0 += 2;
|
||||
this_round -= 2;
|
||||
|
|
|
@ -14,7 +14,7 @@ config VIDEO_SAA7134
|
|||
|
||||
config VIDEO_SAA7134_ALSA
|
||||
tristate "Philips SAA7134 DMA audio support"
|
||||
depends on VIDEO_SAA7134 && SOUND && SND && (!VIDEO_SAA7134_OSS || VIDEO_SAA7134_OSS = m)
|
||||
depends on VIDEO_SAA7134 && SND
|
||||
select SND_PCM_OSS
|
||||
---help---
|
||||
This is a video4linux driver for direct (DMA) audio in
|
||||
|
@ -25,7 +25,7 @@ config VIDEO_SAA7134_ALSA
|
|||
|
||||
config VIDEO_SAA7134_OSS
|
||||
tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)"
|
||||
depends on VIDEO_SAA7134 && SOUND_PRIME && (!VIDEO_SAA7134_ALSA || VIDEO_SAA7134_ALSA = m)
|
||||
depends on VIDEO_SAA7134 && SOUND_PRIME && !VIDEO_SAA7134_ALSA
|
||||
---help---
|
||||
This is a video4linux driver for direct (DMA) audio in
|
||||
Philips SAA713x based TV cards using OSS
|
||||
|
|
|
@ -359,7 +359,12 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
|
|||
md->block_bits = card->csd.read_blkbits;
|
||||
|
||||
blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
|
||||
set_capacity(md->disk, card->csd.capacity);
|
||||
|
||||
/*
|
||||
* The CSD capacity field is in units of read_blkbits.
|
||||
* set_capacity takes units of 512 bytes.
|
||||
*/
|
||||
set_capacity(md->disk, card->csd.capacity << (card->csd.read_blkbits - 9));
|
||||
}
|
||||
out:
|
||||
return md;
|
||||
|
@ -373,7 +378,7 @@ mmc_blk_set_blksize(struct mmc_blk_data *md, struct mmc_card *card)
|
|||
|
||||
mmc_card_claim_host(card);
|
||||
cmd.opcode = MMC_SET_BLOCKLEN;
|
||||
cmd.arg = 1 << card->csd.read_blkbits;
|
||||
cmd.arg = 1 << md->block_bits;
|
||||
cmd.flags = MMC_RSP_R1;
|
||||
err = mmc_wait_for_cmd(card->host, &cmd, 5);
|
||||
mmc_card_release_host(card);
|
||||
|
@ -412,10 +417,9 @@ static int mmc_blk_probe(struct mmc_card *card)
|
|||
if (err)
|
||||
goto out;
|
||||
|
||||
printk(KERN_INFO "%s: %s %s %dKiB %s\n",
|
||||
printk(KERN_INFO "%s: %s %s %luKiB %s\n",
|
||||
md->disk->disk_name, mmc_card_id(card), mmc_card_name(card),
|
||||
(card->csd.capacity << card->csd.read_blkbits) / 1024,
|
||||
mmc_blk_readonly(card)?"(ro)":"");
|
||||
get_capacity(md->disk) >> 1, mmc_blk_readonly(card)?"(ro)":"");
|
||||
|
||||
mmc_set_drvdata(card, md);
|
||||
add_disk(md->disk);
|
||||
|
|
|
@ -160,7 +160,7 @@ pl011_rx_chars(struct uart_amba_port *uap)
|
|||
flag = TTY_FRAME;
|
||||
}
|
||||
|
||||
if (uart_handle_sysrq_char(&uap->port, ch, regs))
|
||||
if (uart_handle_sysrq_char(&uap->port, ch & 255, regs))
|
||||
goto ignore_char;
|
||||
|
||||
uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag);
|
||||
|
|
|
@ -2103,7 +2103,7 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)
|
|||
* values.
|
||||
*/
|
||||
input_set_abs_params(inputdev, ABS_X, 0, 2999, 0, 0);
|
||||
input_set_abs_params(inputdev, ABS_X, 0, 2249, 0, 0);
|
||||
input_set_abs_params(inputdev, ABS_Y, 0, 2249, 0, 0);
|
||||
input_set_abs_params(inputdev, ABS_PRESSURE, 0, 511, 0, 0);
|
||||
input_set_abs_params(inputdev, ABS_TILT_X, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0);
|
||||
input_set_abs_params(inputdev, ABS_TILT_Y, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0);
|
||||
|
|
|
@ -501,11 +501,16 @@ int hostfs_commit_write(struct file *file, struct page *page, unsigned from,
|
|||
long long start;
|
||||
int err = 0;
|
||||
|
||||
start = (long long) (page->index << PAGE_CACHE_SHIFT) + from;
|
||||
start = (((long long) page->index) << PAGE_CACHE_SHIFT) + from;
|
||||
buffer = kmap(page);
|
||||
err = write_file(FILE_HOSTFS_I(file)->fd, &start, buffer + from,
|
||||
to - from);
|
||||
if(err > 0) err = 0;
|
||||
|
||||
/* Actually, if !err, write_file has added to-from to start, so, despite
|
||||
* the appearance, we are comparing i_size against the _last_ written
|
||||
* location, as we should. */
|
||||
|
||||
if(!err && (start > inode->i_size))
|
||||
inode->i_size = start;
|
||||
|
||||
|
@ -910,10 +915,8 @@ static struct inode_operations hostfs_dir_iops = {
|
|||
int hostfs_link_readpage(struct file *file, struct page *page)
|
||||
{
|
||||
char *buffer, *name;
|
||||
long long start;
|
||||
int err;
|
||||
|
||||
start = page->index << PAGE_CACHE_SHIFT;
|
||||
buffer = kmap(page);
|
||||
name = inode_name(page->mapping->host, 0);
|
||||
if(name == NULL) return(-ENOMEM);
|
||||
|
|
Loading…
Reference in a new issue