Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 109952
b: refs/heads/master
c: 74c7a09
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Sep 23, 2008
1 parent 26fd908 commit a0937be
Show file tree
Hide file tree
Showing 12 changed files with 53 additions and 37 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: 4c07ab0fe4b4eaa0fc31f640ca65da7c173f5043
refs/heads/master: 74c7a09aeeaa59984d8487a44b08f66add8b9813
2 changes: 1 addition & 1 deletion trunk/Documentation/DMA-mapping.txt
Original file line number Diff line number Diff line change
Expand Up @@ -740,7 +740,7 @@ failure can be determined by:
dma_addr_t dma_handle;

dma_handle = pci_map_single(pdev, addr, size, direction);
if (pci_dma_mapping_error(dma_handle)) {
if (pci_dma_mapping_error(pdev, dma_handle)) {
/*
* reduce current DMA mapping usage,
* delay and try again later or
Expand Down
7 changes: 4 additions & 3 deletions trunk/Documentation/sysctl/kernel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,9 +351,10 @@ kernel. This value defaults to SHMMAX.

softlockup_thresh:

This value can be used to lower the softlockup tolerance
threshold. The default threshold is 10s. If a cpu is locked up
for 10s, the kernel complains. Valid values are 1-60s.
This value can be used to lower the softlockup tolerance threshold. The
default threshold is 60 seconds. If a cpu is locked up for 60 seconds,
the kernel complains. Valid values are 1-60 seconds. Setting this
tunable to zero will disable the softlockup detection altogether.

==============================================================

Expand Down
32 changes: 19 additions & 13 deletions trunk/drivers/serial/atmel_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,8 @@ struct atmel_uart_char {
struct atmel_uart_port {
struct uart_port uart; /* uart */
struct clk *clk; /* uart clock */
unsigned short suspended; /* is port suspended? */
int may_wakeup; /* cached value of device_may_wakeup for times we need to disable it */
u32 backup_imr; /* IMR saved during suspend */
int break_active; /* break being received */

short use_dma_rx; /* enable PDC receiver */
Expand Down Expand Up @@ -984,8 +985,15 @@ static void atmel_serial_pm(struct uart_port *port, unsigned int state,
* This is called on uart_open() or a resume event.
*/
clk_enable(atmel_port->clk);

/* re-enable interrupts if we disabled some on suspend */
UART_PUT_IER(port, atmel_port->backup_imr);
break;
case 3:
/* Back up the interrupt mask and disable all interrupts */
atmel_port->backup_imr = UART_GET_IMR(port);
UART_PUT_IDR(port, -1);

/*
* Disable the peripheral clock for this serial port.
* This is called on uart_close() or a suspend event.
Expand Down Expand Up @@ -1475,13 +1483,12 @@ static int atmel_serial_suspend(struct platform_device *pdev,
cpu_relax();
}

if (device_may_wakeup(&pdev->dev)
&& !atmel_serial_clk_will_stop())
enable_irq_wake(port->irq);
else {
uart_suspend_port(&atmel_uart, port);
atmel_port->suspended = 1;
}
/* we can not wake up if we're running on slow clock */
atmel_port->may_wakeup = device_may_wakeup(&pdev->dev);
if (atmel_serial_clk_will_stop())
device_set_wakeup_enable(&pdev->dev, 0);

uart_suspend_port(&atmel_uart, port);

return 0;
}
Expand All @@ -1491,11 +1498,8 @@ static int atmel_serial_resume(struct platform_device *pdev)
struct uart_port *port = platform_get_drvdata(pdev);
struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);

if (atmel_port->suspended) {
uart_resume_port(&atmel_uart, port);
atmel_port->suspended = 0;
} else
disable_irq_wake(port->irq);
uart_resume_port(&atmel_uart, port);
device_set_wakeup_enable(&pdev->dev, atmel_port->may_wakeup);

return 0;
}
Expand All @@ -1513,6 +1517,8 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev)
BUILD_BUG_ON(!is_power_of_2(ATMEL_SERIAL_RINGSIZE));

port = &atmel_ports[pdev->id];
port->backup_imr = 0;

atmel_init_port(port, pdev);

if (!atmel_use_dma_rx(&port->uart)) {
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/watchdog/ibmasr.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ static void __asr_toggle(void)

outb(reg & ~asr_toggle_mask, asr_write_addr);
reg = inb(asr_read_addr);
spin_unlock(&asr_lock);
}

static void asr_toggle(void)
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/linux/smb.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@

#include <linux/types.h>
#include <linux/magic.h>
#ifdef __KERNEL__
#include <linux/time.h>
#endif

enum smb_protocol {
SMB_PROTOCOL_NONE,
Expand Down
8 changes: 7 additions & 1 deletion trunk/kernel/kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -753,8 +753,14 @@ static struct page *kimage_alloc_page(struct kimage *image,
*old = addr | (*old & ~PAGE_MASK);

/* The old page I have found cannot be a
* destination page, so return it.
* destination page, so return it if it's
* gfp_flags honor the ones passed in.
*/
if (!(gfp_mask & __GFP_HIGHMEM) &&
PageHighMem(old_page)) {
kimage_free_pages(old_page);
continue;
}
addr = old_addr;
page = old_page;
break;
Expand Down
1 change: 1 addition & 0 deletions trunk/mm/memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,7 @@ int mem_cgroup_shrink_usage(struct mm_struct *mm, gfp_t gfp_mask)

do {
progress = try_to_free_mem_cgroup_pages(mem, gfp_mask);
progress += res_counter_check_under_limit(&mem->res);
} while (!progress && --retry);

css_put(&mem->css);
Expand Down
24 changes: 9 additions & 15 deletions trunk/mm/tiny-shmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,31 +65,25 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags)
if (!dentry)
goto put_memory;

error = -ENOSPC;
inode = ramfs_get_inode(root->d_sb, S_IFREG | S_IRWXUGO, 0);
if (!inode)
goto put_dentry;

d_instantiate(dentry, inode);
error = -ENFILE;
file = alloc_file(shm_mnt, dentry, FMODE_WRITE | FMODE_READ,
&ramfs_file_operations);
file = get_empty_filp();
if (!file)
goto put_dentry;

inode->i_nlink = 0; /* It is unlinked */

/* notify everyone as to the change of file size */
error = do_truncate(dentry, size, 0, file);
if (error < 0)
error = -ENOSPC;
inode = ramfs_get_inode(root->d_sb, S_IFREG | S_IRWXUGO, 0);
if (!inode)
goto close_file;

d_instantiate(dentry, inode);
inode->i_size = size;
inode->i_nlink = 0; /* It is unlinked */
init_file(file, shm_mnt, dentry, FMODE_WRITE | FMODE_READ,
&ramfs_file_operations);
return file;

close_file:
put_filp(file);
return ERR_PTR(error);

put_dentry:
dput(dentry);
put_memory:
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -1511,6 +1511,7 @@ long do_accept(int fd, struct sockaddr __user *upeer_sockaddr,
goto out_put;
}

#if 0
#ifdef HAVE_SET_RESTORE_SIGMASK
asmlinkage long sys_paccept(int fd, struct sockaddr __user *upeer_sockaddr,
int __user *upeer_addrlen,
Expand Down Expand Up @@ -1564,6 +1565,7 @@ asmlinkage long sys_paccept(int fd, struct sockaddr __user *upeer_sockaddr,
return do_accept(fd, upeer_sockaddr, upeer_addrlen, flags);
}
#endif
#endif

asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr,
int __user *upeer_addrlen)
Expand Down
4 changes: 4 additions & 0 deletions trunk/scripts/kernel-doc
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,7 @@ sub output_struct_xml(%) {
print " <refsect1>\n";
print " <title>Members</title>\n";

if ($#{$args{'parameterlist'}} >= 0) {
print " <variablelist>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
($parameter =~ /^#/) && next;
Expand All @@ -798,6 +799,9 @@ sub output_struct_xml(%) {
print " </varlistentry>\n";
}
print " </variablelist>\n";
} else {
print " <para>\n None\n </para>\n";
}
print " </refsect1>\n";

output_section_xml(@_);
Expand Down
5 changes: 3 additions & 2 deletions trunk/sound/soc/at32/at32-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,8 @@ static int at32_pcm_suspend(struct platform_device *pdev,
params = prtd->params;

/* Disable the PDC and save the PDC registers */
ssc_writex(params->ssc->regs, PDC_PTCR, params->mask->pdc_disable);
ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR,
params->mask->pdc_disable);

prtd->pdc_xpr_save = ssc_readx(params->ssc->regs, params->pdc->xpr);
prtd->pdc_xcr_save = ssc_readx(params->ssc->regs, params->pdc->xcr);
Expand Down Expand Up @@ -464,7 +465,7 @@ static int at32_pcm_resume(struct platform_device *pdev,
ssc_writex(params->ssc->regs, params->pdc->xnpr, prtd->pdc_xnpr_save);
ssc_writex(params->ssc->regs, params->pdc->xncr, prtd->pdc_xncr_save);

ssc_writex(params->ssc->regs, PDC_PTCR, params->mask->pdc_enable);
ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, params->mask->pdc_enable);
return 0;
}
#else /* CONFIG_PM */
Expand Down

0 comments on commit a0937be

Please sign in to comment.