TPM: fix suspend and resume failure
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87 Commit: 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87 Parent: 40d6a146629b98d8e322b6f9332b182c7cbff3df Author: David Smith [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:12 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 TPM: fix suspend and resume failure The savestate command structure was being overwritten by the result of running the TPM_SaveState command after one run, so make it a local variable to the function instead of a global variable that gets overwritten. Acked-by: Pavel Machek [EMAIL PROTECTED] Cc: Kent Yoder [EMAIL PROTECTED] Cc: Marcel Selhorst [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/char/tpm/tpm.c | 12 ++-- 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 39564b7..c88424a 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c @@ -1046,12 +1046,6 @@ void tpm_remove_hardware(struct device *dev) } EXPORT_SYMBOL_GPL(tpm_remove_hardware); -static u8 savestate[] = { - 0, 193, /* TPM_TAG_RQU_COMMAND */ - 0, 0, 0, 10,/* blob length (in bytes) */ - 0, 0, 0, 152/* TPM_ORD_SaveState */ -}; - /* * We are about to suspend. Save the TPM state * so that it can be restored. @@ -1059,6 +1053,12 @@ static u8 savestate[] = { int tpm_pm_suspend(struct device *dev, pm_message_t pm_state) { struct tpm_chip *chip = dev_get_drvdata(dev); + u8 savestate[] = { + 0, 193, /* TPM_TAG_RQU_COMMAND */ + 0, 0, 0, 10,/* blob length (in bytes) */ + 0, 0, 0, 152/* TPM_ORD_SaveState */ + }; + if (chip == NULL) return -ENODEV; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Kick CPUS that might be sleeping in cpus_idle_wait
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40d6a146629b98d8e322b6f9332b182c7cbff3df Commit: 40d6a146629b98d8e322b6f9332b182c7cbff3df Parent: a2a6c74d34c3ae9de6825767a30ab17f709b59ce Author: Steven Rostedt [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:10 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 Kick CPUS that might be sleeping in cpus_idle_wait Sometimes cpu_idle_wait gets stuck because it might miss CPUS that are already in idle, have no tasks waiting to run and have no interrupts going to them. This is common on bootup when switching cpu idle governors. This patch gives those CPUS that don't check in an IPI kick. Background: --- I notice this while developing the mcount patches, that every once in a while the system would hang. Looking deeper, the hang was always at boot up when registering init_menu of the cpu_idle menu governor. Talking with Thomas Gliexner, we discovered that one of the CPUS had no timer events scheduled for it and it was in idle (running with NO_HZ). So the CPU would not set the cpu_idle_state bit. Hitting sysrq-t a few times would eventually route the interrupt to the stuck CPU and the system would continue. Note, I would have used the PDA isidle but that is set after the cpu_idle_state bit is cleared, and would leave a window open where we may miss being kicked. hmm, looking closer at this, we still have a small race window between clearing the cpu_idle_state and disabling interrupts (hence the RFC). CPU0: CPU 1: - - cpu_idle_wait(): cpu_idle(): | __cpu_cpu_var(is_idle) = 1; | if (__get_cpu_var(cpu_idle_state)) /* == 0 */ per_cpu(cpu_idle_state, 1) = 1; | if (per_cpu(is_idle, 1)) /* == 1 */ | smp_call_function(1)| | receives ipi and runs do_nothing. wait on map == empty idle(); /* waits forever */ So really we need interrupts off for most of this then. One might think that we could simply clear the cpu_idle_state from do_nothing, but I'm assuming that cpu_idle governors can be removed, and this might cause a race that a governor might be used after the module was removed. Venki said: I think your RFC patch is the right solution here. As I see it, there is no race with your RFC patch. As long as you call a dummy smp_call_function on all CPUs, we should be OK. We can get rid of cpu_idle_state and the current wait forever logic altogether with dummy smp_call_function. And so there wont be any wait forever scenario. The whole point of cpu_idle_wait() is to make all CPUs come out of idle loop atleast once. The caller will use cpu_idle_wait something like this. // Want to change idle handler - Switch global idle handler to always present default_idle - call cpu_idle_wait so that all cpus come out of idle for an instant and stop using old idle pointer and start using default idle - Change the idle handler to a new handler - optional cpu_idle_wait if you want all cpus to start using the new handler immediately. Maybe the below 1s patch is safe bet for .24. But for .25, I would say we just replace all complicated logic by simple dummy smp_call_function and remove cpu_idle_state altogether. Signed-off-by: Steven Rostedt [EMAIL PROTECTED] Cc: Venkatesh Pallipadi [EMAIL PROTECTED] Acked-by: Ingo Molnar [EMAIL PROTECTED] Acked-by: Thomas Gleixner [EMAIL PROTECTED] Cc: Andi Kleen [EMAIL PROTECTED] Cc: Len Brown [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/x86/kernel/process_32.c | 11 +++ arch/x86/kernel/process_64.c | 11 +++ 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 9663c2a..46d391d 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -204,6 +204,10 @@ void cpu_idle(void) } } +static void do_nothing(void *unused) +{ +} + void cpu_idle_wait(void) { unsigned int cpu, this_cpu = get_cpu(); @@ -228,6 +232,13 @@ void cpu_idle_wait(void) cpu_clear(cpu, map); } cpus_and(map, map, cpu_online_map); + /* +* We waited 1 sec, if a CPU still did not call idle +* it may be because it is in idle and not waking up +* because
modules: de-mutex more symbol lookup paths in the module code
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb2a52052cebe4716e83b9d2e53682ba00f67de6 Commit: cb2a52052cebe4716e83b9d2e53682ba00f67de6 Parent: 1a1b285c24e1468afe82b09330dde5192a6e0013 Author: Rusty Russell [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:03 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 modules: de-mutex more symbol lookup paths in the module code Kyle McMartin reports sysrq_timer_list_show() can hit the module mutex from hard interrupt context. These paths don't need to though, since we long ago changed all the module list manipulation to occur via stop_machine(). Disabling preemption is enough. Signed-off-by: Rusty Russell [EMAIL PROTECTED] Cc: Ingo Molnar [EMAIL PROTECTED] Cc: Kyle McMartin [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- kernel/module.c | 29 ++--- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/kernel/module.c b/kernel/module.c index 91fe695..c2e3e2e 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2214,29 +2214,34 @@ static const char *get_ksymbol(struct module *mod, /* For kallsyms to ask for address resolution. NULL means not found. We don't lock, as this is used for oops resolution and races are a lesser concern. */ +/* FIXME: Risky: returns a pointer into a module w/o lock */ const char *module_address_lookup(unsigned long addr, unsigned long *size, unsigned long *offset, char **modname) { struct module *mod; + const char *ret = NULL; + preempt_disable(); list_for_each_entry(mod, modules, list) { if (within(addr, mod-module_init, mod-init_size) || within(addr, mod-module_core, mod-core_size)) { if (modname) *modname = mod-name; - return get_ksymbol(mod, addr, size, offset); + ret = get_ksymbol(mod, addr, size, offset); + break; } } - return NULL; + preempt_enable(); + return ret; } int lookup_module_symbol_name(unsigned long addr, char *symname) { struct module *mod; - mutex_lock(module_mutex); + preempt_disable(); list_for_each_entry(mod, modules, list) { if (within(addr, mod-module_init, mod-init_size) || within(addr, mod-module_core, mod-core_size)) { @@ -2246,12 +2251,12 @@ int lookup_module_symbol_name(unsigned long addr, char *symname) if (!sym) goto out; strlcpy(symname, sym, KSYM_NAME_LEN); - mutex_unlock(module_mutex); + preempt_enable(); return 0; } } out: - mutex_unlock(module_mutex); + preempt_enable(); return -ERANGE; } @@ -2260,7 +2265,7 @@ int lookup_module_symbol_attrs(unsigned long addr, unsigned long *size, { struct module *mod; - mutex_lock(module_mutex); + preempt_disable(); list_for_each_entry(mod, modules, list) { if (within(addr, mod-module_init, mod-init_size) || within(addr, mod-module_core, mod-core_size)) { @@ -2273,12 +2278,12 @@ int lookup_module_symbol_attrs(unsigned long addr, unsigned long *size, strlcpy(modname, mod-name, MODULE_NAME_LEN); if (name) strlcpy(name, sym, KSYM_NAME_LEN); - mutex_unlock(module_mutex); + preempt_enable(); return 0; } } out: - mutex_unlock(module_mutex); + preempt_enable(); return -ERANGE; } @@ -2287,7 +2292,7 @@ int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type, { struct module *mod; - mutex_lock(module_mutex); + preempt_disable(); list_for_each_entry(mod, modules, list) { if (symnum mod-num_symtab) { *value = mod-symtab[symnum].st_value; @@ -2296,12 +2301,12 @@ int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type, KSYM_NAME_LEN); strlcpy(module_name, mod-name, MODULE_NAME_LEN); *exported = is_exported(name, mod); - mutex_unlock(module_mutex); + preempt_enable(); return 0; } symnum -= mod-num_symtab; } - mutex_unlock(module_mutex); +
MAINTAINERS: email update and add missing entry
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f4c79ce79d1552014af3c115d03e13092443905 Commit: 8f4c79ce79d1552014af3c115d03e13092443905 Parent: 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87 Author: Nicolas Ferre [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:13 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 MAINTAINERS: email update and add missing entry - MAINTAINERS email update - add atmel_lcdfb entry Signed-off-by: Nicolas Ferre [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- MAINTAINERS |8 +++- drivers/video/atmel_lcdfb.c |2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 92aa0a7..2340cfb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -665,12 +665,18 @@ S:Maintained ATMEL AT91 MCI DRIVER P: Nicolas Ferre -M: [EMAIL PROTECTED] +M: [EMAIL PROTECTED] L: [EMAIL PROTECTED] (subscribers-only) W: http://www.atmel.com/products/AT91/ W: http://www.at91.com/ S: Maintained +ATMEL LCDFB DRIVER +P: Nicolas Ferre +M: [EMAIL PROTECTED] +L: [EMAIL PROTECTED] (subscribers-only) +S: Maintained + ATMEL MACB ETHERNET DRIVER P: Haavard Skinnemoen M: [EMAIL PROTECTED] diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index 11a3a22..7c30cc8 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c @@ -801,5 +801,5 @@ module_init(atmel_lcdfb_init); module_exit(atmel_lcdfb_exit); MODULE_DESCRIPTION(AT91/AT32 LCD Controller framebuffer driver); -MODULE_AUTHOR(Nicolas Ferre [EMAIL PROTECTED]); +MODULE_AUTHOR(Nicolas Ferre [EMAIL PROTECTED]); MODULE_LICENSE(GPL); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
quicklists: Only consider memory that can be used with GFP_KERNEL
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96990a4ae979df9e235d01097d6175759331e88c Commit: 96990a4ae979df9e235d01097d6175759331e88c Parent: 8f4c79ce79d1552014af3c115d03e13092443905 Author: Christoph Lameter [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:14 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 quicklists: Only consider memory that can be used with GFP_KERNEL Quicklists calculates the size of the quicklists based on the number of free pages. This must be the number of free pages that can be allocated with GFP_KERNEL. node_page_state() includes the pages in ZONE_HIGHMEM and ZONE_MOVABLE which may lead the quicklists to become too large causing OOM. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Tested-by: Dhaval Giani [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- mm/quicklist.c | 12 ++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mm/quicklist.c b/mm/quicklist.c index ae8189c..3f703f7 100644 --- a/mm/quicklist.c +++ b/mm/quicklist.c @@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quicklist)[CONFIG_NR_QUICK]; static unsigned long max_pages(unsigned long min_pages) { unsigned long node_free_pages, max; + struct zone *zones = NODE_DATA(numa_node_id())-node_zones; + + node_free_pages = +#ifdef CONFIG_ZONE_DMA + zone_page_state(zones[ZONE_DMA], NR_FREE_PAGES) + +#endif +#ifdef CONFIG_ZONE_DMA32 + zone_page_state(zones[ZONE_DMA32], NR_FREE_PAGES) + +#endif + zone_page_state(zones[ZONE_NORMAL], NR_FREE_PAGES); - node_free_pages = node_page_state(numa_node_id(), - NR_FREE_PAGES); max = node_free_pages / FRACTION_OF_NODE_MEM; return max(max, min_pages); } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
macintosh: fix fabrication of caplock key events
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f31c05ea0f5690d002ae30710fc0fbe0f0c201f Commit: 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f Parent: 96990a4ae979df9e235d01097d6175759331e88c Author: Andy Wingo [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:15 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 macintosh: fix fabrication of caplock key events If the user has turned on the restore_caplock_events parameter, the code mangles the capslock events correctly, then erroneously ignores those events. Fix logic to allow correct fallthrough. Signed-off-by: Andy Wingo [EMAIL PROTECTED] Acked-by: Andrew McNabb [EMAIL PROTECTED] Cc: Dmitry Torokhov [EMAIL PROTECTED] Cc: Benjamin Herrenschmidt [EMAIL PROTECTED] cc: Paul Mackerras [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/macintosh/adbhid.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/macintosh/adbhid.c b/drivers/macintosh/adbhid.c index 883da72..ef4c117 100644 --- a/drivers/macintosh/adbhid.c +++ b/drivers/macintosh/adbhid.c @@ -322,8 +322,9 @@ adbhid_input_keycode(int id, int scancode, int repeat) input_sync(ahid-input); input_report_key(ahid-input, KEY_CAPSLOCK, 0); input_sync(ahid-input); + return; } - return; + break; #ifdef CONFIG_PPC_PMAC case ADB_KEY_POWER_OLD: /* Power key on PBook 3400 needs remapping */ switch(pmac_call_feature(PMAC_FTR_GET_MB_INFO, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
scsi/qla2xxx/qla_os.c section fix
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c993f76698bcee594f081a295f1b8f48f58062a Commit: 4c993f76698bcee594f081a295f1b8f48f58062a Parent: 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f Author: Adrian Bunk [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:16 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 scsi/qla2xxx/qla_os.c section fix WARNING: vmlinux.o(.text+0x2a4462): Section mismatch: reference to .exit.text:qla2x00_remove_one (between 'qla2xxx_pci_error_detected' and 'qla2x00_stop_timer') qla2x00_remove_one() mustn't be __devexit since it's called from qla2xxx_pci_error_detected(). Signed-off-by: Adrian Bunk [EMAIL PROTECTED] Acked-by: Seokmann Ju [EMAIL PROTECTED] Acked-by: Andrew Vasquez [EMAIL PROTECTED] Cc: Randy Dunlap [EMAIL PROTECTED] Cc: James Bottomley [EMAIL PROTECTED] Acked-by: Sam Ravnborg [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/scsi/qla2xxx/qla_os.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index a5bcf1f..8ecc047 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -1831,7 +1831,7 @@ probe_out: return ret; } -static void __devexit +static void qla2x00_remove_one(struct pci_dev *pdev) { scsi_qla_host_t *ha; @@ -2965,7 +2965,7 @@ static struct pci_driver qla2xxx_pci_driver = { }, .id_table = qla2xxx_pci_tbl, .probe = qla2x00_probe_one, - .remove = __devexit_p(qla2x00_remove_one), + .remove = qla2x00_remove_one, .err_handler= qla2xxx_err_handler, }; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
cciss: section mismatch
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d1fd970e4b2e84a624b3274669fa642fcd19c98 Commit: 7d1fd970e4b2e84a624b3274669fa642fcd19c98 Parent: 4c993f76698bcee594f081a295f1b8f48f58062a Author: Randy Dunlap [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:17 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 cciss: section mismatch Mark cciss_pci_init() as __devinit, to fix section mismatch warning. WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry') Signed-off-by: Randy Dunlap [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Acked-by: Sam Ravnborg [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/block/cciss.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 7d70496..509b649 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -2927,7 +2927,7 @@ default_int_mode: return; } -static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev) +static int __devinit cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev) { ushort subsystem_vendor_id, subsystem_device_id, command; __u32 board_id, scratchpad = 0; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
gameport: don't export functions that are static inline
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5ad58675149077b2046905d54fb831873288058 Commit: f5ad58675149077b2046905d54fb831873288058 Parent: 4c64681effcbf349cf9137b8a120badc72340dd4 Author: Ivan Kokshaysky [EMAIL PROTECTED] AuthorDate: Thu Jan 3 10:46:03 2008 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Thu Jan 3 10:46:03 2008 -0500 gameport: don't export functions that are static inline This does not make sense and moreover causes build failures on alpha. Signed-off-by: Ivan Kokshaysky [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/gameport/gameport.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c index bfc6061..1dc2ac9 100644 --- a/drivers/input/gameport/gameport.c +++ b/drivers/input/gameport/gameport.c @@ -38,8 +38,6 @@ EXPORT_SYMBOL(gameport_unregister_driver); EXPORT_SYMBOL(gameport_open); EXPORT_SYMBOL(gameport_close); EXPORT_SYMBOL(gameport_rescan); -EXPORT_SYMBOL(gameport_cooked_read); -EXPORT_SYMBOL(gameport_set_name); EXPORT_SYMBOL(gameport_set_phys); EXPORT_SYMBOL(gameport_start_polling); EXPORT_SYMBOL(gameport_stop_polling); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Input: Handle EV_PWR type of input caps in input_set_capability.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22d1c398e852e7f0ace3482e662886386ef15725 Commit: 22d1c398e852e7f0ace3482e662886386ef15725 Parent: 35baef2afb6270ff731b4d766f0b163c3912304f Author: Dmitry Baryshkov [EMAIL PROTECTED] AuthorDate: Fri Dec 14 01:21:03 2007 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Fri Dec 14 01:21:03 2007 -0500 Input: Handle EV_PWR type of input caps in input_set_capability. Signed-off-by: Dmitry Baryshkov [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/input.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/input/input.c b/drivers/input/input.c index 307c7b5..c0837d3 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -1266,6 +1266,10 @@ void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int __set_bit(code, dev-ffbit); break; + case EV_PWR: + /* do nothing */ + break; + default: printk(KERN_ERR input_set_capability: unknown type %u (code %u)\n, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
OSS msnd: fix array overflows
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea8e1652c5f4202fa90cfae49f2ca8485423d263 Commit: ea8e1652c5f4202fa90cfae49f2ca8485423d263 Parent: bbde25b1257c169c119601590d011b9b3aaf77f8 Author: Adrian Bunk [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:25 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 OSS msnd: fix array overflows Fix array overflows in the OSS msnd driver spotted by the Coverity checker. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- sound/oss/msnd.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/oss/msnd.h b/sound/oss/msnd.h index 05cf786..d0ca582 100644 --- a/sound/oss/msnd.h +++ b/sound/oss/msnd.h @@ -233,8 +233,8 @@ typedef struct multisound_dev { spinlock_t lock; int nresets; unsigned long recsrc; - int left_levels[16]; - int right_levels[16]; + int left_levels[32]; + int right_levels[32]; int mixer_mod_count; int calibrate_signal; int play_sample_size, play_sample_rate, play_channels; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
CRIS v10: driver for ds1302 needs to include cris-specific i2c.h
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbde25b1257c169c119601590d011b9b3aaf77f8 Commit: bbde25b1257c169c119601590d011b9b3aaf77f8 Parent: 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4 Author: Jesper Nilsson [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:24 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 CRIS v10: driver for ds1302 needs to include cris-specific i2c.h This fixes compilation error where i2c_init wasn't defined. Also, remove the CVS log and version tags, they are no longer useful. Signed-off-by: Jesper Nilsson [EMAIL PROTECTED] Cc: Mikael Starvik [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/cris/arch-v10/drivers/ds1302.c | 131 +-- 1 files changed, 3 insertions(+), 128 deletions(-) diff --git a/arch/cris/arch-v10/drivers/ds1302.c b/arch/cris/arch-v10/drivers/ds1302.c index 88eff7f..1d1936a 100644 --- a/arch/cris/arch-v10/drivers/ds1302.c +++ b/arch/cris/arch-v10/drivers/ds1302.c @@ -6,136 +6,9 @@ *! *! Functions exported: ds1302_readreg, ds1302_writereg, ds1302_init *! -*! $Log: ds1302.c,v $ -*! Revision 1.18 2005/01/24 09:11:26 mikaelam -*! Minor changes to get DS1302 RTC chip driver to work -*! -*! Revision 1.17 2005/01/05 06:11:22 starvik -*! No need to do local_irq_disable after local_irq_save. -*! -*! Revision 1.16 2004/12/13 12:21:52 starvik -*! Added I/O and DMA allocators from Linux 2.4 -*! -*! Revision 1.14 2004/08/24 06:48:43 starvik -*! Whitespace cleanup -*! -*! Revision 1.13 2004/05/28 09:26:59 starvik -*! Modified I2C initialization to work in 2.6. -*! -*! Revision 1.12 2004/05/14 07:58:03 starvik -*! Merge of changes from 2.4 -*! -*! Revision 1.10 2004/02/04 09:25:12 starvik -*! Merge of Linux 2.6.2 -*! -*! Revision 1.9 2003/07/04 08:27:37 starvik -*! Merge of Linux 2.5.74 -*! -*! Revision 1.8 2003/04/09 05:20:47 starvik -*! Merge of Linux 2.5.67 -*! -*! Revision 1.6 2003/01/09 14:42:51 starvik -*! Merge of Linux 2.5.55 -*! -*! Revision 1.4 2002/12/11 13:13:57 starvik -*! Added arch/ to v10 specific includes -*! Added fix from Linux 2.4 in serial.c (flush_to_flip_buffer) -*! -*! Revision 1.3 2002/11/20 11:56:10 starvik -*! Merge of Linux 2.5.48 -*! -*! Revision 1.2 2002/11/18 13:16:06 starvik -*! Linux 2.5 port of latest 2.4 drivers -*! -*! Revision 1.15 2002/10/11 16:14:33 johana -*! Added CONFIG_ETRAX_DS1302_TRICKLE_CHARGE and initial setting of the -*! trcklecharge register. -*! -*! Revision 1.14 2002/10/10 12:15:38 magnusmn -*! Added support for having the RST signal on bit g0 -*! -*! Revision 1.13 2002/05/29 15:16:08 johana -*! Removed unused variables. -*! -*! Revision 1.12 2002/04/10 15:35:25 johana -*! Moved probe function closer to init function and marked it __init. -*! -*! Revision 1.11 2001/06/14 12:35:52 jonashg -*! The ATA hack is back. It is unfortunately the only way to set g27 to output. -*! -*! Revision 1.9 2001/06/14 10:00:14 jonashg -*! No need for tempudelay to be inline anymore (had to adjust the usec to -*! loops conversion because of this to make it slow enough to be a udelay). -*! -*! Revision 1.8 2001/06/14 08:06:32 jonashg -*! Made tempudelay delay usecs (well, just a tad more). -*! -*! Revision 1.7 2001/06/13 14:18:11 jonashg -*! Only allow processes with SYS_TIME capability to set time and charge. -*! -*! Revision 1.6 2001/06/12 15:22:07 jonashg -*! * Made init function __init. -*! * Parameter to out_byte() is unsigned char. -*! * The magic number 42 has got a name. -*! * Removed comment about /proc (nothing is exported there). -*! -*! Revision 1.5 2001/06/12 14:35:13 jonashg -*! Gave the module a name and added it to printk's. -*! -*! Revision 1.4 2001/05/31 14:53:40 jonashg -*! Made tempudelay() inline so that the watchdog doesn't reset (see -*! function comment). -*! -*! Revision 1.3 2001/03/26 16:03:06 bjornw -*! Needs linux/config.h -*! -*! Revision 1.2 2001/03/20 19:42:00 bjornw -*! Use the ETRAX prefix on the DS1302 options -*! -*! Revision 1.1 2001/03/20 09:13:50 magnusmn -*! Linux 2.4 port -*! -*! Revision 1.10 2000/07/05 15:38:23 bjornw -*! Dont update kernel time when a RTC_SET_TIME is done -*! -*! Revision 1.9 2000/03/02 15:42:59 macce -*! * Hack to make RTC work on all 2100/2400 -*! -*! Revision 1.8 2000/02/23 16:59:18 torbjore -*! added setup of R_GEN_CONFIG when RTC is connected to the generic port. -*! -*! Revision 1.7 2000/01/17 15:51:43 johana -*! Added RTC_SET_CHARGE ioctl to enable trickle charger. -*! -*! Revision 1.6 1999/10/27 13:19:47 bjornw -*! Added update_xtime_from_cmos which reads back the updated RTC into the kernel. -*! /dev/rtc calls it now. -*! -*! Revision 1.5 1999/10/27 12:39:37 bjornw -*! Disabled superuser check. Anyone can now set the time. -*! -*! Revision 1.4 1999/09/02 13:27:46
uvesafb: fix section mismatch warnings
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27b526a09086d563d61cf0e0fdd5c8e3f3c295d4 Commit: 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4 Parent: d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e Author: Randy Dunlap [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:24 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 uvesafb: fix section mismatch warnings Mark uvesafb_init_mtrr() as __devinit since its caller is __devinit and since it accesses __devinitdata. WARNING: vmlinux.o(.text+0x4df80e): Section mismatch: reference to .init.data: (between 'uvesafb_init_mtrr' and 'uvesafb_show_vbe_ver') Variable 'blank' cannot be __devinitdata since it is referenced in an fb_ops method that could be called at any time. WARNING: vmlinux.o(.text+0x4dfc1e): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') WARNING: vmlinux.o(.text+0x4dfc24): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette') Signed-off-by: Randy Dunlap [EMAIL PROTECTED] Cc: Antonino A. Daplas [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/video/uvesafb.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c index d1d6c0f..a14ef89 100644 --- a/drivers/video/uvesafb.c +++ b/drivers/video/uvesafb.c @@ -43,7 +43,7 @@ static struct fb_fix_screeninfo uvesafb_fix __devinitdata = { }; static int mtrr__devinitdata = 3; /* enable mtrr by default */ -static int blank __devinitdata = 1; /* enable blanking by default */ +static int blank = 1; /* enable blanking by default */ static int ypan__devinitdata = 1; /* 0: scroll, 1: ypan, 2: ywrap */ static int pmi_setpal __devinitdata = 1; /* use PMI for palette changes */ static int nocrtc __devinitdata; /* ignore CRTC settings */ @@ -1549,7 +1549,7 @@ static void __devinit uvesafb_init_info(struct fb_info *info, info-fbops-fb_pan_display = NULL; } -static void uvesafb_init_mtrr(struct fb_info *info) +static void __devinit uvesafb_init_mtrr(struct fb_info *info) { #ifdef CONFIG_MTRR if (mtrr !(info-fix.smem_start (PAGE_SIZE - 1))) { - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
hugetlbfs: fix quota leak
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5 Commit: 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5 Parent: 747d016e7e25e216b31022fe2b012508d99fb682 Author: Ken Chen [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:19 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 hugetlbfs: fix quota leak In the error path of both shared and private hugetlb page allocation, the file system quota is never undone, leading to fs quota leak. Fix them up. [EMAIL PROTECTED]: cleanup, micro-optimise] Signed-off-by: Ken Chen [EMAIL PROTECTED] Acked-by: Adam Litke [EMAIL PROTECTED] Cc: David Gibson [EMAIL PROTECTED] Cc: William Lee Irwin III [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- mm/hugetlb.c | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 7224a4f..e0fda15 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -418,9 +418,14 @@ static struct page *alloc_huge_page_private(struct vm_area_struct *vma, if (free_huge_pages resv_huge_pages) page = dequeue_huge_page(vma, addr); spin_unlock(hugetlb_lock); - if (!page) + if (!page) { page = alloc_buddy_huge_page(vma, addr); - return page ? page : ERR_PTR(-VM_FAULT_OOM); + if (!page) { + hugetlb_put_quota(vma-vm_file-f_mapping, 1); + return ERR_PTR(-VM_FAULT_OOM); + } + } + return page; } static struct page *alloc_huge_page(struct vm_area_struct *vma, @@ -1206,8 +1211,10 @@ int hugetlb_reserve_pages(struct inode *inode, long from, long to) if (hugetlb_get_quota(inode-i_mapping, chg)) return -ENOSPC; ret = hugetlb_acct_memory(chg); - if (ret 0) + if (ret 0) { + hugetlb_put_quota(inode-i_mapping, chg); return ret; + } region_add(inode-i_mapping-private_list, from, to); return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
CRIS v10: correct do_signal to fix oops and clean up signal handling in general
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4858d4dab4580ec8b1fb7576f91522b6962502c Commit: a4858d4dab4580ec8b1fb7576f91522b6962502c Parent: 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e Author: Jesper Nilsson [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:22 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 CRIS v10: correct do_signal to fix oops and clean up signal handling in general This fixes a kernel panic on boot due to do_signal not being compatible with it's callers. - do_signal now returns void, and does not have the previous signal set as a parameter. - Remove sys_rt_sigsuspend, we can use the common one instead. - Change sys_sigsuspend to be more like x86, don't call do_signal here. - handle_signal, setup_frame and setup_rt_frame now return -EFAULT if we've delivered a segfault, which is used by callers to perform necessary cleanup. - Break long lines, correct whitespace and formatting errors. Signed-off-by: Jesper Nilsson [EMAIL PROTECTED] Cc: Mikael Starvik [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/cris/arch-v10/kernel/signal.c | 251 1 files changed, 112 insertions(+), 139 deletions(-) diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c index 41d4a5f..b6be705 100644 --- a/arch/cris/arch-v10/kernel/signal.c +++ b/arch/cris/arch-v10/kernel/signal.c @@ -7,7 +7,7 @@ * * Ideas also taken from arch/arm. * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000-2007 Axis Communications AB * * Authors: Bjorn Wesen ([EMAIL PROTECTED]) * @@ -40,84 +40,30 @@ */ #define RESTART_CRIS_SYS(regs) regs-r10 = regs-orig_r10; regs-irp -= 2; -int do_signal(int canrestart, sigset_t *oldset, struct pt_regs *regs); +void do_signal(int canrestart, struct pt_regs *regs); /* - * Atomically swap in the new signal mask, and wait for a signal. Define + * Atomically swap in the new signal mask, and wait for a signal. Define * dummy arguments to be able to reach the regs argument. (Note that this * arrangement relies on old_sigset_t occupying one register.) */ -int -sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, - long srp, struct pt_regs *regs) +int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, + long srp, struct pt_regs *regs) { - sigset_t saveset; - mask = _BLOCKABLE; spin_lock_irq(current-sighand-siglock); - saveset = current-blocked; + current-saved_sigmask = current-blocked; siginitset(current-blocked, mask); recalc_sigpending(); spin_unlock_irq(current-sighand-siglock); - - regs-r10 = -EINTR; - while (1) { - current-state = TASK_INTERRUPTIBLE; - schedule(); - if (do_signal(0, saveset, regs)) - /* We will get here twice: once to call the signal - handler, then again to return from the - sigsuspend system call. When calling the - signal handler, R10 holds the signal number as - set through do_signal. The sigsuspend call - will return with the restored value set above; - always -EINTR. */ - return regs-r10; - } + current-state = TASK_INTERRUPTIBLE; + schedule(); + set_thread_flag(TIF_RESTORE_SIGMASK); + return -ERESTARTNOHAND; } -/* Define dummy arguments to be able to reach the regs argument. (Note that - * this arrangement relies on size_t occupying one register.) - */ -int -sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, long r12, long r13, - long mof, long srp, struct pt_regs *regs) -{ - sigset_t saveset, newset; - - /* XXX: Don't preclude handling different sized sigset_t's. */ - if (sigsetsize != sizeof(sigset_t)) - return -EINVAL; - - if (copy_from_user(newset, unewset, sizeof(newset))) - return -EFAULT; - sigdelsetmask(newset, ~_BLOCKABLE); - - spin_lock_irq(current-sighand-siglock); - saveset = current-blocked; - current-blocked = newset; - recalc_sigpending(); - spin_unlock_irq(current-sighand-siglock); - - regs-r10 = -EINTR; - while (1) { - current-state = TASK_INTERRUPTIBLE; - schedule(); - if (do_signal(0, saveset, regs)) - /* We will get here twice: once to call the signal - handler, then again to return from the - sigsuspend system call. When calling the -
CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ea0345be38555c6a1a04ed7e9c015a42e76bd0e Commit: 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e Parent: f0466441492dc17d0749ef0cce9831fc7e4a7a5d Author: Jesper Nilsson [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:22 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS This allows us to use the commong sys_rt_sigsuspend instead of having our own. Signed-off-by: Jesper Nilsson [EMAIL PROTECTED] Cc: Mikael Starvik [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- include/asm-cris/unistd.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h index 6f2d924..bd57a79 100644 --- a/include/asm-cris/unistd.h +++ b/include/asm-cris/unistd.h @@ -358,6 +358,7 @@ #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK #define __ARCH_WANT_SYS_RT_SIGACTION +#define __ARCH_WANT_SYS_RT_SIGSUSPEND /* * Conditional syscalls - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e Commit: d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e Parent: a4858d4dab4580ec8b1fb7576f91522b6962502c Author: Jesper Nilsson [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:23 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile This fixes compile error when nr_free_pages() from linux/swap.h expands to global_page_state(NR_FREE_PAGES), but linux/vmstat.h isn't included to declare global_page_state(). Signed-off-by: Jesper Nilsson [EMAIL PROTECTED] Cc: Mikael Starvik [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/cris/arch-v10/kernel/time.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index 5976f61..9310a7b 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c @@ -13,6 +13,7 @@ #include linux/swap.h #include linux/sched.h #include linux/init.h +#include linux/vmstat.h #include asm/arch/svinto.h #include asm/types.h #include asm/signal.h - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
s3c2410fb: fix incorrect argument type in resume function
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0466441492dc17d0749ef0cce9831fc7e4a7a5d Commit: f0466441492dc17d0749ef0cce9831fc7e4a7a5d Parent: 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5 Author: Krzysztof Helt [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:20 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 s3c2410fb: fix incorrect argument type in resume function Fix wrong pointer type passed into the s3c2410fb_init_registers() function. Signed-off-by: Krzysztof Helt [EMAIL PROTECTED] Cc: Antonino A. Daplas [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/video/s3c2410fb.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c index 5857ccf..ad35033 100644 --- a/drivers/video/s3c2410fb.c +++ b/drivers/video/s3c2410fb.c @@ -1026,7 +1026,7 @@ static int s3c2410fb_resume(struct platform_device *dev) clk_enable(info-clk); msleep(1); - s3c2410fb_init_registers(info); + s3c2410fb_init_registers(fbinfo); return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Input: jornada680_kbd - fix default keymap
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c64681effcbf349cf9137b8a120badc72340dd4 Commit: 4c64681effcbf349cf9137b8a120badc72340dd4 Parent: 22d1c398e852e7f0ace3482e662886386ef15725 Author: Kristoffer Ericson [EMAIL PROTECTED] AuthorDate: Fri Dec 14 01:21:14 2007 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Fri Dec 14 01:21:14 2007 -0500 Input: jornada680_kbd - fix default keymap This patch fixes the HP Jornada 6xx keyboard default keymap which had some bad keymap values. This resulted in wrong key being returned when pressed (for example, key 'y' returned 'r'). Also, while we are at it lets arrange the include files in alphabetical order. Signed-off-by: Kristoffer Ericson [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/keyboard/jornada680_kbd.c | 40 +++--- 1 files changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/input/keyboard/jornada680_kbd.c b/drivers/input/keyboard/jornada680_kbd.c index bec1cf4..a23633a 100644 --- a/drivers/input/keyboard/jornada680_kbd.c +++ b/drivers/input/keyboard/jornada680_kbd.c @@ -16,14 +16,14 @@ * published by the Free Software Foundation. */ -#include linux/input.h -#include linux/kernel.h -#include linux/module.h #include linux/init.h +#include linux/input.h #include linux/input-polldev.h +#include linux/interrupt.h #include linux/jiffies.h +#include linux/kernel.h +#include linux/module.h #include linux/platform_device.h -#include linux/interrupt.h #include asm/delay.h #include asm/io.h @@ -43,22 +43,22 @@ #define PLDR 0xa4000134 static const unsigned short jornada_scancodes[] = { -/* PTD1 */ KEY_CAPSLOCK, KEY_MACRO, KEY_LEFTCTRL, 0, KEY_ESC, 0, 0, 0, /* 1 - 8 */ - KEY_F1, KEY_F2, KEY_F3, KEY_F8, KEY_F7, KEY_F2, KEY_F4, KEY_F5, /* 9 - 16 */ -/* PTD5 */ KEY_SLASH, KEY_APOSTROPHE, KEY_ENTER, 0, KEY_Z, 0, 0, 0, /* 17 - 24 */ - KEY_X, KEY_C, KEY_V, KEY_DOT, KEY_COMMA, KEY_M, KEY_B, KEY_N, /* 25 - 32 */ -/* PTD7 */ KEY_KP2, KEY_KP6, 0, 0, 0, 0, 0, 0, /* 33 - 40 */ - 0, 0, 0, KEY_KP4, 0, 0, KEY_LEFTALT, KEY_HANJA, /* 41 - 48 */ -/* PTE0 */ 0, 0, 0, 0, KEY_FINANCE, 0, 0, 0, /* 49 - 56 */ - KEY_LEFTCTRL, 0, KEY_SPACE, KEY_KPDOT, KEY_VOLUMEUP, 249, 0, 0, /* 57 - 64 */ -/* PTE1 */ KEY_SEMICOLON, KEY_RIGHTBRACE, KEY_BACKSLASH, 0, KEY_A, 0, 0, 0,/* 65 - 72 */ - KEY_S, KEY_D, KEY_F, KEY_L, KEY_K, KEY_J, KEY_G, KEY_H, /* 73 - 80 */ -/* PTE3 */ KEY_KP8, KEY_LEFTMETA, KEY_RIGHTSHIFT, 0, KEY_TAB, 0, 0,0, /* 81 - 88 */ - 0, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, 0, /* 89 - 96 */ -/* PTE6 */ KEY_P, KEY_LEFTBRACE, KEY_BACKSPACE, 0, KEY_Q, 0, 0, 0, /* 97 - 104 */ - KEY_W, KEY_E, KEY_R, KEY_O, KEY_I, KEY_U, KEY_T, KEY_R, /* 105 - 112 */ -/* PTE7 */ KEY_0, KEY_MINUS, KEY_EQUAL, 0, KEY_1, 0, 0, 0, /* 113 - 120 */ - KEY_2, KEY_3, KEY_4, KEY_9, KEY_8, KEY_7, KEY_5, KEY_6, /* 121 - 128 */ +/* PTD1 */ KEY_CAPSLOCK, KEY_MACRO, KEY_LEFTCTRL, 0, KEY_ESC, KEY_KP5, 0, 0, /* 1 - 8 */ + KEY_F1, KEY_F2, KEY_F3, KEY_F8, KEY_F7, KEY_F6, KEY_F4, KEY_F5, /* 9 - 16 */ +/* PTD5 */ KEY_SLASH, KEY_APOSTROPHE, KEY_ENTER, 0, KEY_Z, 0, 0, 0, /* 17 - 24 */ + KEY_X, KEY_C, KEY_V, KEY_DOT, KEY_COMMA, KEY_M, KEY_B, KEY_N, /* 25 - 32 */ +/* PTD7 */ KEY_KP2, KEY_KP6, KEY_KP3, 0, 0, 0, 0, 0, /* 33 - 40 */ + KEY_F10, KEY_RO, KEY_F9, KEY_KP4, KEY_NUMLOCK, KEY_SCROLLLOCK, KEY_LEFTALT, KEY_HANJA, /* 41 - 48 */ +/* PTE0 */ KEY_KATAKANA, KEY_KP0, KEY_GRAVE, 0, KEY_FINANCE, 0, 0, 0, /* 49 - 56 */ + KEY_KPMINUS, KEY_HIRAGANA, KEY_SPACE, KEY_KPDOT, KEY_VOLUMEUP, 249, 0, 0, /* 57 - 64 */ +/* PTE1 */ KEY_SEMICOLON, KEY_RIGHTBRACE, KEY_BACKSLASH, 0, KEY_A, 0, 0, 0,/* 65 - 72 */ + KEY_S, KEY_D, KEY_F, KEY_L, KEY_K, KEY_J, KEY_G, KEY_H, /* 73 - 80 */ +/* PTE3 */ KEY_KP8, KEY_LEFTMETA, KEY_RIGHTSHIFT, 0, KEY_TAB, 0, 0, 0, /* 81 - 88 */ + 0, KEY_LEFTSHIFT, KEY_KP7, KEY_KP9, KEY_KP1, KEY_F11, KEY_KPPLUS, KEY_KPASTERISK, /* 89 - 96 */ +/* PTE6 */ KEY_P, KEY_LEFTBRACE, KEY_BACKSPACE, 0, KEY_Q, 0, 0, 0, /* 97 - 104 */ + KEY_W, KEY_E, KEY_R, KEY_O, KEY_I, KEY_U, KEY_T, KEY_Y, /*
Input: spitzkbd - fix suspend key handling
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4 Commit: 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4 Parent: f5ad58675149077b2046905d54fb831873288058 Author: Richard Purdie [EMAIL PROTECTED] AuthorDate: Thu Jan 3 10:46:13 2008 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Thu Jan 3 10:46:13 2008 -0500 Input: spitzkbd - fix suspend key handling The spitz keyboard driver reports KEY_SUSPEND events but doesn't register its use of this event in the keybit bitfield, breaking input events for this key. This patch fixes that by registering the key in the keybit bitfield. Signed-off-by: Richard Purdie [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/keyboard/spitzkbd.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c index 410d78a..1d59a2d 100644 --- a/drivers/input/keyboard/spitzkbd.c +++ b/drivers/input/keyboard/spitzkbd.c @@ -391,6 +391,7 @@ static int __init spitzkbd_probe(struct platform_device *dev) for (i = 0; i ARRAY_SIZE(spitzkbd_keycode); i++) set_bit(spitzkbd-keycode[i], input_dev-keybit); clear_bit(0, input_dev-keybit); + set_bit(KEY_SUSPEND, input_dev-keybit); set_bit(SW_LID, input_dev-swbit); set_bit(SW_TABLET_MODE, input_dev-swbit); set_bit(SW_HEADPHONE_INSERT, input_dev-swbit); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Input: pass EV_PWR events to event handlers
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed2fa4dd41adcac0b82dea029bfb7d856a899258 Commit: ed2fa4dd41adcac0b82dea029bfb7d856a899258 Parent: 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4 Author: Richard Purdie [EMAIL PROTECTED] AuthorDate: Thu Jan 3 10:46:21 2008 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Thu Jan 3 10:46:21 2008 -0500 Input: pass EV_PWR events to event handlers input_handle_event() used to pass EV_PWR events to event handlers but no longer does so in 2.6.23. Modules to trigger power management events based on input power events exist but rely on the EV_PWR events being passed to the input event handlers. Signed-off-by: Richard Purdie [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/input.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/input/input.c b/drivers/input/input.c index c0837d3..a0be978 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -235,6 +235,10 @@ static void input_handle_event(struct input_dev *dev, if (value = 0) disposition = INPUT_PASS_TO_ALL; break; + + case EV_PWR: + disposition = INPUT_PASS_TO_ALL; + break; } if (type != EV_SYN) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Input: improve Kconfig help entries for HP Jornada devices
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ff891eb3d3dd6854f11d616c6397a0e403f4e88 Commit: 4ff891eb3d3dd6854f11d616c6397a0e403f4e88 Parent: ed2fa4dd41adcac0b82dea029bfb7d856a899258 Author: Kristoffer Ericson [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:54:23 2008 -0500 Committer: Dmitry Torokhov [EMAIL PROTECTED] CommitDate: Mon Jan 14 00:54:23 2008 -0500 Input: improve Kconfig help entries for HP Jornada devices Signed-off-by: Kristoffer Ericson [EMAIL PROTECTED] Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED] --- drivers/input/keyboard/Kconfig| 12 ++-- drivers/input/touchscreen/Kconfig |8 +++- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index dfa6592..086d58c 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -209,22 +209,22 @@ config KEYBOARD_HIL to your machine, so normally you should say Y here. config KEYBOARD_HP6XX - tristate HP Jornada 6XX Keyboard support + tristate HP Jornada 6xx keyboard depends on SH_HP6XX select INPUT_POLLDEV help - This adds support for the onboard keyboard found on - HP Jornada 620/660/680/690. + Say Y here if you have a HP Jornada 620/660/680/690 and want to + support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada680_kbd. config KEYBOARD_HP7XX - tristate HP Jornada 7XX Keyboard Driver + tristate HP Jornada 7xx keyboard depends on SA1100_JORNADA720_SSP SA1100_SSP help - Say Y here to add support for the HP Jornada 7xx (710/720/728) - onboard keyboard. + Say Y here if you have a HP Jornada 710/720/728 and want to + support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada720_kbd. diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index fa8442b..90e8e92 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -115,19 +115,17 @@ config TOUCHSCREEN_MK712 module will be called mk712. config TOUCHSCREEN_HP600 - tristate HP Jornada 680/690 touchscreen + tristate HP Jornada 6xx touchscreen depends on SH_HP6XX SH_ADC help - Say Y here if you have a HP Jornada 680 or 690 and want to + Say Y here if you have a HP Jornada 620/660/680/690 and want to support the built-in touchscreen. - If unsure, say N. - To compile this driver as a module, choose M here: the module will be called hp680_ts_input. config TOUCHSCREEN_HP7XX - tristate HP Jornada 710/720/728 touchscreen + tristate HP Jornada 7xx touchscreen depends on SA1100_JORNADA720_SSP help Say Y here if you have a HP Jornada 710/720/728 and want - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
advansys: fix section mismatch warning
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=747d016e7e25e216b31022fe2b012508d99fb682 Commit: 747d016e7e25e216b31022fe2b012508d99fb682 Parent: 7d1fd970e4b2e84a624b3274669fa642fcd19c98 Author: Randy Dunlap [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:18 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:23 2008 -0800 advansys: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.exit.text+0x152a): Section mismatch: reference to .init.data:_asc_def_iop_base (between 'advansys_isa_remove' and 'advansys_exit') Signed-off-by: Randy Dunlap [EMAIL PROTECTED] Cc: Matthew Wilcox [EMAIL PROTECTED] Cc: James Bottomley [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/scsi/advansys.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index 9dd3952..38a1ee2 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -13906,7 +13906,7 @@ static int advansys_release(struct Scsi_Host *shost) #define ASC_IOADR_TABLE_MAX_IX 11 -static PortAddr _asc_def_iop_base[ASC_IOADR_TABLE_MAX_IX] __devinitdata = { +static PortAddr _asc_def_iop_base[ASC_IOADR_TABLE_MAX_IX] = { 0x100, 0x0110, 0x120, 0x0130, 0x140, 0x0150, 0x0190, 0x0210, 0x0230, 0x0250, 0x0330 }; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
w1: decrement slave counter only in -release() callback
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2a6c74d34c3ae9de6825767a30ab17f709b59ce Commit: a2a6c74d34c3ae9de6825767a30ab17f709b59ce Parent: cb2a52052cebe4716e83b9d2e53682ba00f67de6 Author: Evgeniy Polyakov [EMAIL PROTECTED] AuthorDate: Mon Jan 14 00:55:08 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 08:52:22 2008 -0800 w1: decrement slave counter only in -release() callback Decrement the slave counter only in -release() callback instead of both in -release() and w1 control. Patch is based on debug work and preliminary patch made by Henri Laakso. Henri noticed in debug that this counter becomes negative after w1 slave device is physically removed. Signed-off-by: Evgeniy Polyakov [EMAIL PROTECTED] Cc: Henri Laakso [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/w1/w1.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c index 0702173..33e5031 100644 --- a/drivers/w1/w1.c +++ b/drivers/w1/w1.c @@ -869,11 +869,9 @@ void w1_search_process(struct w1_master *dev, u8 search_type) w1_search_devices(dev, search_type, w1_slave_found); list_for_each_entry_safe(sl, sln, dev-slist, w1_slave_entry) { - if (!test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags) !--sl-ttl) { + if (!test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags) !--sl-ttl) w1_slave_detach(sl); - - dev-slave_count--; - } else if (test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags)) + else if (test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags)) sl-ttl = dev-slave_ttl; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
fix the remove task_ppid_nr_ns commit
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a98fdcef941e107eeabae622d85a1f476f25a160 Commit: a98fdcef941e107eeabae622d85a1f476f25a160 Parent: 4fd3670eb1d3c33e8952cf1e79edbb2d517dcfb5 Author: Oleg Nesterov [EMAIL PROTECTED] AuthorDate: Tue Jan 15 00:02:37 2008 +0300 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 13:23:00 2008 -0800 fix the remove task_ppid_nr_ns commit Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns) moved the task_tgid_nr_ns(task-real_parent) outside of lock_task_sighand(). This is wrong, -real_parent could be freed/reused. Both -parent/real_parent point to nothing after __exit_signal() because we remove the child from -children list, and thus the child can't be reparented when its parent exits. rcu_read_lock() protects -parent/real_parent, but _only_ if we know it was valid before we take rcu lock. Revert this part of the patch. Signed-off-by: Oleg Nesterov [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/proc/array.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c index 810eb8f..eb97f28 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -426,7 +426,6 @@ static int do_task_stat(struct task_struct *task, char *buffer, int whole) cgtime = gtime = cputime_zero; rcu_read_lock(); - ppid = task_tgid_nr_ns(task-real_parent, ns); if (lock_task_sighand(task, flags)) { struct signal_struct *sig = task-signal; @@ -465,6 +464,7 @@ static int do_task_stat(struct task_struct *task, char *buffer, int whole) } sid = task_session_nr_ns(task, ns); + ppid = task_tgid_nr_ns(task-real_parent, ns); pgid = task_pgrp_nr_ns(task, ns); unlock_task_sighand(task, flags); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c-omap: Fix NULL pointer dereferencing
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e39752d5367f9087e058abe768708165e1ec373 Commit: 3e39752d5367f9087e058abe768708165e1ec373 Parent: 1a1b285c24e1468afe82b09330dde5192a6e0013 Author: Tony Lindgren [EMAIL PROTECTED] AuthorDate: Mon Jan 14 21:53:30 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:53:30 2008 +0100 i2c-omap: Fix NULL pointer dereferencing This patch fixes bug #9581 reported by Marcio Buss. If kzalloc fails, omap_i2c_write_reg() tries to reset an unallocated I2C controller. Cc: Marcio Buss [EMAIL PROTECTED] Signed-off-by: Tony Lindgren [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- drivers/i2c/busses/i2c-omap.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index cb55cf2..f2552b1 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -619,13 +619,13 @@ omap_i2c_probe(struct platform_device *pdev) err_free_irq: free_irq(dev-irq, dev); err_unuse_clocks: + omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); omap_i2c_disable_clocks(dev); omap_i2c_put_clocks(dev); err_free_mem: platform_set_drvdata(pdev, NULL); kfree(dev); err_release_region: - omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); release_mem_region(mem-start, (mem-end - mem-start) + 1); return r; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c: Spelling fixes
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96acafe05fad2c9429ca2c39af47efc5db2d8042 Commit: 96acafe05fad2c9429ca2c39af47efc5db2d8042 Parent: 3e39752d5367f9087e058abe768708165e1ec373 Author: Joe Perches [EMAIL PROTECTED] AuthorDate: Mon Jan 14 21:53:30 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:53:30 2008 +0100 i2c: Spelling fixes [JD: One more fix in i2c-dev.] Signed-off-by: Joe Perches [EMAIL PROTECTED] Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- drivers/i2c/busses/i2c-at91.c |2 +- drivers/i2c/busses/i2c-powermac.c |2 +- drivers/i2c/i2c-dev.c |2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c index 9c8b6d5..c09b036 100644 --- a/drivers/i2c/busses/i2c-at91.c +++ b/drivers/i2c/busses/i2c-at91.c @@ -135,7 +135,7 @@ static int xfer_write(struct i2c_adapter *adap, unsigned char *buf, int length) * Generic i2c master transfer entrypoint. * * Note: We do not use Atmel's feature of storing the internal device address. - * Instead the internal device address has to be written using a seperate + * Instead the internal device address has to be written using a separate * i2c message. * http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-September/024411.html */ diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c index 0ab4f26..7813127 100644 --- a/drivers/i2c/busses/i2c-powermac.c +++ b/drivers/i2c/busses/i2c-powermac.c @@ -94,7 +94,7 @@ static s32 i2c_powermac_smbus_xfer( struct i2c_adapter* adap, break; /* Note that these are broken vs. the expected smbus API where -* on reads, the lenght is actually returned from the function, +* on reads, the length is actually returned from the function, * but I think the current API makes no sense and I don't want * any driver that I haven't verified for correctness to go * anywhere near a pmac i2c bus anyway ... diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index c21ae20..df540d5 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c @@ -184,7 +184,7 @@ static ssize_t i2cdev_write (struct file *file, const char __user *buf, size_t c /* This address checking function differs from the one in i2c-core in that it considers an address with a registered device, but no - bounded driver, as NOT busy. */ + bound driver, as NOT busy. */ static int i2cdev_check_addr(struct i2c_adapter *adapter, unsigned int addr) { struct list_head *item; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i2c: Driver IDs are optional
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9dd0194ff23d612e463be764d73da7825da4aa1 Commit: f9dd0194ff23d612e463be764d73da7825da4aa1 Parent: 96acafe05fad2c9429ca2c39af47efc5db2d8042 Author: Jean Delvare [EMAIL PROTECTED] AuthorDate: Mon Jan 14 21:53:31 2008 +0100 Committer: Jean Delvare [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:53:31 2008 +0100 i2c: Driver IDs are optional Document the fact that I2C driver IDs are optional. Signed-off-by: Jean Delvare [EMAIL PROTECTED] --- include/linux/i2c-id.h |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index 88c8140..e18017d 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h @@ -23,6 +23,10 @@ #ifndef LINUX_I2C_ID_H #define LINUX_I2C_ID_H +/* Please note that I2C driver IDs are optional. They are only needed if a + legacy chip driver needs to identify a bus or a bus driver needs to + identify a legacy client. If you don't need them, just don't set them. */ + /* * Driver types - */ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[MIPS] Cobalt: Fix ethernet interrupts for RaQ1
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa Commit: f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa Parent: 2f02c15a5d963007bd721d76f644c9491f6fec06 Author: Thomas Bogendoerfer [EMAIL PROTECTED] AuthorDate: Sat Jan 12 00:25:14 2008 +0100 Committer: Ralf Baechle [EMAIL PROTECTED] CommitDate: Tue Jan 15 01:04:42 2008 + [MIPS] Cobalt: Fix ethernet interrupts for RaQ1 RAQ1 uses the same interrupt routing as Qube2. Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED] Signed-off-by: Ralf Baechle [EMAIL PROTECTED] --- arch/mips/pci/fixup-cobalt.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c index f7df114..9553b14 100644 --- a/arch/mips/pci/fixup-cobalt.c +++ b/arch/mips/pci/fixup-cobalt.c @@ -177,7 +177,7 @@ static char irq_tab_raq2[] __initdata = { int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { - if (cobalt_board_id COBALT_BRD_ID_QUBE2) + if (cobalt_board_id = COBALT_BRD_ID_QUBE1) return irq_tab_qube1[slot]; if (cobalt_board_id == COBALT_BRD_ID_RAQ2) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Revert writeback: introduce writeback_control.more_io to indicate more io
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c23f72cae9523d29ff94eec8f30ccbdaf234b20e Commit: c23f72cae9523d29ff94eec8f30ccbdaf234b20e Parent: 031f2dcd7075e218e74dd7f942ad015cf82dffab Author: Linus Torvalds [EMAIL PROTECTED] AuthorDate: Mon Jan 14 21:21:29 2008 -0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:21:29 2008 -0800 Revert writeback: introduce writeback_control.more_io to indicate more io This reverts commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b, as requested by Fengguang Wu. It's not quite fully baked yet, and while there are patches around to fix the problems it caused, they should get more testing. Says Fengguang: I'll resend them both for -mm later on, in a more complete patchset. See http://bugzilla.kernel.org/show_bug.cgi?id=9738 for some of this discussion. Requested-by: Fengguang Wu [EMAIL PROTECTED] Cc: Andrew Morton [EMAIL PROTECTED] Cc: Peter Zijlstra [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/fs-writeback.c |2 -- include/linux/writeback.h |1 - mm/page-writeback.c |9 +++-- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 0fca820..300324b 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -482,8 +482,6 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc) if (wbc-nr_to_write = 0) break; } - if (!list_empty(sb-s_more_io)) - wbc-more_io = 1; return; /* Leave any unwritten inodes on s_io */ } diff --git a/include/linux/writeback.h b/include/linux/writeback.h index bef7d66..c6148bb 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -62,7 +62,6 @@ struct writeback_control { unsigned for_reclaim:1; /* Invoked from the page allocator */ unsigned for_writepages:1; /* This is a writepages() call */ unsigned range_cyclic:1;/* range_start is cyclic */ - unsigned more_io:1; /* more io to be dispatched */ }; /* diff --git a/mm/page-writeback.c b/mm/page-writeback.c index d55cfca..3d3848f 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -558,7 +558,6 @@ static void background_writeout(unsigned long _min_pages) global_page_state(NR_UNSTABLE_NFS) background_thresh min_pages = 0) break; - wbc.more_io = 0; wbc.encountered_congestion = 0; wbc.nr_to_write = MAX_WRITEBACK_PAGES; wbc.pages_skipped = 0; @@ -566,9 +565,8 @@ static void background_writeout(unsigned long _min_pages) min_pages -= MAX_WRITEBACK_PAGES - wbc.nr_to_write; if (wbc.nr_to_write 0 || wbc.pages_skipped 0) { /* Wrote less than expected */ - if (wbc.encountered_congestion || wbc.more_io) - congestion_wait(WRITE, HZ/10); - else + congestion_wait(WRITE, HZ/10); + if (!wbc.encountered_congestion) break; } } @@ -633,12 +631,11 @@ static void wb_kupdate(unsigned long arg) global_page_state(NR_UNSTABLE_NFS) + (inodes_stat.nr_inodes - inodes_stat.nr_unused); while (nr_to_write 0) { - wbc.more_io = 0; wbc.encountered_congestion = 0; wbc.nr_to_write = MAX_WRITEBACK_PAGES; writeback_inodes(wbc); if (wbc.nr_to_write 0) { - if (wbc.encountered_congestion || wbc.more_io) + if (wbc.encountered_congestion) congestion_wait(WRITE, HZ/10); else break; /* All the old data is written */ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[MIPS] Kconfig fixes for BCM47XX platform
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f02c15a5d963007bd721d76f644c9491f6fec06 Commit: 2f02c15a5d963007bd721d76f644c9491f6fec06 Parent: 88fb61e4ba263685a0d5b82c7e9cd6f22a9e6a9d Author: Aurelien Jarno [EMAIL PROTECTED] AuthorDate: Tue Dec 11 11:30:34 2007 +0100 Committer: Ralf Baechle [EMAIL PROTECTED] CommitDate: Tue Jan 15 01:04:41 2008 + [MIPS] Kconfig fixes for BCM47XX platform The patch below fixes two problems for Kconfig on the BCM47xx platform: - arch/mips/bcm47xx/gpio.c uses ssb_extif_* functions. Selecting SSB_DRIVER_EXTIF makes sure those functions are available. - arch/mips/pci/pci.c needs, when enabled, platform specific functions, which are defined when SSB_PCICORE_HOSTMODE is enabled. Signed-off-by: Aurelien Jarno [EMAIL PROTECTED] Signed-off-by: Ralf Baechle [EMAIL PROTECTED] --- arch/mips/Kconfig |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 291d368..b22c043 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -59,6 +59,8 @@ config BCM47XX select SYS_SUPPORTS_LITTLE_ENDIAN select SSB select SSB_DRIVER_MIPS + select SSB_DRIVER_EXTIF + select SSB_PCICORE_HOSTMODE if PCI select GENERIC_GPIO select SYS_HAS_EARLY_PRINTK select CFE - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[MIPS] Cacheops.h: Fix typo.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4f95822cc17cb7095d50babe2d2fc4c043fa25 Commit: 2e4f95822cc17cb7095d50babe2d2fc4c043fa25 Parent: c43756da94863395d5ee088659676029b3ae7191 Author: Ralf Baechle [EMAIL PROTECTED] AuthorDate: Mon Jan 14 14:46:31 2008 + Committer: Ralf Baechle [EMAIL PROTECTED] CommitDate: Tue Jan 15 01:04:42 2008 + [MIPS] Cacheops.h: Fix typo. Signed-off-by: Ralf Baechle [EMAIL PROTECTED] --- include/asm-mips/cacheops.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/asm-mips/cacheops.h b/include/asm-mips/cacheops.h index df7f2de..256ad2c 100644 --- a/include/asm-mips/cacheops.h +++ b/include/asm-mips/cacheops.h @@ -64,7 +64,7 @@ #define Page_Invalidate_T 0x16 /* - * R1000-specific cacheops + * R1-specific cacheops * * Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused. * Most of the _S cacheops are identical to the R4000SC _SD cacheops. - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
ata_piix: ignore ATA_DMA_ERR on vmware ich4
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25f98131a292f4c81e4619bdf48f00a991386f73 Commit: 25f98131a292f4c81e4619bdf48f00a991386f73 Parent: 031f2dcd7075e218e74dd7f942ad015cf82dffab Author: Tejun Heo [EMAIL PROTECTED] AuthorDate: Mon Jan 7 19:38:53 2008 +0900 Committer: Jeff Garzik [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:11:01 2008 -0500 ata_piix: ignore ATA_DMA_ERR on vmware ich4 VMware ich4 emulation incorrectly sets DMA_ERR on TF error. Ignore it. Signed-off-by: Tejun Heo [EMAIL PROTECTED] Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/ata/ata_piix.c | 51 1 files changed, 51 insertions(+), 0 deletions(-) diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index bb62a58..b406b39 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -132,6 +132,7 @@ enum { ich8_2port_sata, ich8m_apple_sata_ahci, /* locks up on second port enable */ tolapai_sata_ahci, + piix_pata_vmw, /* PIIX4 for VMware, spurious DMA_ERR */ /* constants for mapping table */ P0 = 0, /* port 0 */ @@ -165,6 +166,7 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev); static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev); static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev); static int ich_pata_cable_detect(struct ata_port *ap); +static u8 piix_vmw_bmdma_status(struct ata_port *ap); #ifdef CONFIG_PM static int piix_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg); static int piix_pci_device_resume(struct pci_dev *pdev); @@ -175,6 +177,8 @@ static unsigned int in_module_init = 1; static const struct pci_device_id piix_pci_tbl[] = { /* Intel PIIX3 for the 430HX etc */ { 0x8086, 0x7010, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_mwdma }, + /* VMware ICH4 */ + { 0x8086, 0x7111, 0x15ad, 0x1976, 0, 0, piix_pata_vmw }, /* Intel PIIX4 for the 430TX/440BX/MX chipset: UDMA 33 */ /* Also PIIX4E (fn3 rev 2) and PIIX4M (fn3 rev 3) */ { 0x8086, 0x7111, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 }, @@ -383,6 +387,38 @@ static const struct ata_port_operations piix_sata_ops = { .port_start = ata_port_start, }; +static const struct ata_port_operations piix_vmw_ops = { + .set_piomode= piix_set_piomode, + .set_dmamode= piix_set_dmamode, + .mode_filter= ata_pci_default_filter, + + .tf_load= ata_tf_load, + .tf_read= ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, + + .bmdma_setup= ata_bmdma_setup, + .bmdma_start= ata_bmdma_start, + .bmdma_stop = ata_bmdma_stop, + .bmdma_status = piix_vmw_bmdma_status, + .qc_prep= ata_qc_prep, + .qc_issue = ata_qc_issue_prot, + .data_xfer = ata_data_xfer, + + .freeze = ata_bmdma_freeze, + .thaw = ata_bmdma_thaw, + .error_handler = piix_pata_error_handler, + .post_internal_cmd = ata_bmdma_post_internal_cmd, + .cable_detect = ata_cable_40wire, + + .irq_handler= ata_interrupt, + .irq_clear = ata_bmdma_irq_clear, + .irq_on = ata_irq_on, + + .port_start = ata_port_start, +}; + static const struct piix_map_db ich5_map_db = { .mask = 0x7, .port_enable = 0x3, @@ -623,6 +659,16 @@ static struct ata_port_info piix_port_info[] = { .port_ops = piix_sata_ops, }, + [piix_pata_vmw] = + { + .sht= piix_sht, + .flags = PIIX_PATA_FLAGS, + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but slow */ + .udma_mask = ATA_UDMA_MASK_40C, + .port_ops = piix_vmw_ops, + }, + }; static struct pci_bits piix_enable_bits[] = { @@ -1135,6 +1181,11 @@ static int piix_pci_device_resume(struct pci_dev *pdev) } #endif +static u8 piix_vmw_bmdma_status(struct ata_port *ap) +{ + return ata_bmdma_status(ap) ~ATA_DMA_ERR; +} + #define AHCI_PCI_BAR 5 #define AHCI_GLOBAL_CTL 0x04 #define AHCI_ENABLE (1 31) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[MIPS] Cobalt: Qube1 has no serial port so don't use it
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c43756da94863395d5ee088659676029b3ae7191 Commit: c43756da94863395d5ee088659676029b3ae7191 Parent: f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa Author: Thomas Bogendoerfer [EMAIL PROTECTED] AuthorDate: Sat Jan 12 00:25:17 2008 +0100 Committer: Ralf Baechle [EMAIL PROTECTED] CommitDate: Tue Jan 15 01:04:42 2008 + [MIPS] Cobalt: Qube1 has no serial port so don't use it Because Qube1 doesn't have a serial chip waiting for transmit fifo empty takes forever, which isn't a good idea. No prom_putchar/early console for Qube1 fixes this. Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED] Acked-by: Yoichi Yuasa [EMAIL PROTECTED] Signed-off-by: Ralf Baechle [EMAIL PROTECTED] --- arch/mips/cobalt/console.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/mips/cobalt/console.c b/arch/mips/cobalt/console.c index db330e8..d1ba701 100644 --- a/arch/mips/cobalt/console.c +++ b/arch/mips/cobalt/console.c @@ -4,10 +4,15 @@ #include linux/io.h #include linux/serial_reg.h +#include cobalt.h + #define UART_BASE ((void __iomem *)CKSEG1ADDR(0x1c80)) void prom_putchar(char c) { + if (cobalt_board_id = COBALT_BRD_ID_QUBE1) + return; + while (!(readb(UART_BASE + UART_LSR) UART_LSR_THRE)) ; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sata_sil24: fix stupid typo
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7293fa8fb74f17077a2ac7ccd5b58ae3225317d0 Commit: 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0 Parent: 25f98131a292f4c81e4619bdf48f00a991386f73 Author: Tejun Heo [EMAIL PROTECTED] AuthorDate: Sun Jan 13 13:49:22 2008 +0900 Committer: Jeff Garzik [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:11:01 2008 -0500 sata_sil24: fix stupid typo Fix stupid typo. Signed-off-by: Tejun Heo [EMAIL PROTECTED] Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/ata/sata_sil24.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index b4c674d..d9c8b32 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -301,7 +301,7 @@ static struct sil24_cerr_info { [PORT_CERR_PKT_PROT]= { AC_ERR_HSM, ATA_EH_SOFTRESET, invalid data directon for ATAPI CDB }, [PORT_CERR_SGT_BOUNDARY] = { AC_ERR_SYSTEM, ATA_EH_SOFTRESET, -SGT no on qword boundary }, +SGT not on qword boundary }, [PORT_CERR_SGT_TGTABRT] = { AC_ERR_HOST_BUS, ATA_EH_SOFTRESET, PCI target abort while fetching SGT }, [PORT_CERR_SGT_MSTABRT] = { AC_ERR_HOST_BUS, ATA_EH_SOFTRESET, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
libata: relocate sdev-manage_start_stop configuration
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8cf5389bd9d1f0ac9fea51796c274ba64b83d80 Commit: d8cf5389bd9d1f0ac9fea51796c274ba64b83d80 Parent: c2e14f11120bbef0c883e795da8180b58f3cddae Author: Tejun Heo [EMAIL PROTECTED] AuthorDate: Tue Jan 15 08:46:59 2008 +0900 Committer: Jeff Garzik [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:11:02 2008 -0500 libata: relocate sdev-manage_start_stop configuration After 9b8e8de7, manage_start_stop configuration depends on valid ATA device. Move it into ata_scsi_dev_config(). This was detected by the coverity checker. Signed-off-by: Tejun Heo [EMAIL PROTECTED] Cc: Adrian Bunk [EMAIL PROTECTED] Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/ata/libata-scsi.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 264ae60..14daf48 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -841,6 +841,9 @@ static void ata_scsi_dev_config(struct scsi_device *sdev, blk_queue_max_hw_segments(q, q-max_hw_segments - 1); } + if (dev-class == ATA_DEV_ATA) + sdev-manage_start_stop = 1; + if (dev-flags ATA_DFLAG_AN) set_bit(SDEV_EVT_MEDIA_CHANGE, sdev-supported_events); @@ -872,9 +875,6 @@ int ata_scsi_slave_config(struct scsi_device *sdev) ata_scsi_sdev_config(sdev); - if (dev-class == ATA_DEV_ATA) - sdev-manage_start_stop = 1; - if (dev) ata_scsi_dev_config(sdev, dev); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sata_sil24: freeze on non-dev errors reported via CERR
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c2e14f11120bbef0c883e795da8180b58f3cddae Commit: c2e14f11120bbef0c883e795da8180b58f3cddae Parent: 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0 Author: Tejun Heo [EMAIL PROTECTED] AuthorDate: Sun Jan 13 14:04:16 2008 +0900 Committer: Jeff Garzik [EMAIL PROTECTED] CommitDate: Mon Jan 14 21:11:02 2008 -0500 sata_sil24: freeze on non-dev errors reported via CERR CERR reports errors detected during executing a command. This doesn't mean the error is tied to the command and can be recovered by just issuing it again. Many of the errors are fatal port-wide connditions including HSM violation, host bus error and ATA bus error and require freezing and port reset. The freezing part wasn't implemented previously. This used to be okay because port resets were scheduled anyway and EH eventually resets and recovers the port. With PMP support added, this is no longer true. The error condition and recover actions are attributed to the fan-out port and the host port condition isn't properly recovered leading to EH failures. This patch makes CERR errors which require resets to freeze the port. This will force host port reset and proper recovery. Signed-off-by: Tejun Heo [EMAIL PROTECTED] Cc: Andrew Ryder [EMAIL PROTECTED] Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/ata/sata_sil24.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index d9c8b32..864c1c1 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -1094,10 +1094,13 @@ static void sil24_error_intr(struct ata_port *ap) if (ci ci-desc) { err_mask |= ci-err_mask; action |= ci-action; + if (action ATA_EH_RESET_MASK) + freeze = 1; ata_ehi_push_desc(ehi, %s, ci-desc); } else { err_mask |= AC_ERR_OTHER; action |= ATA_EH_SOFTRESET; + freeze = 1; ata_ehi_push_desc(ehi, unknown command error %d, cerr); } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html