[PATCH] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54c044094947826105317dadd01deca083627ea1
Commit: 54c044094947826105317dadd01deca083627ea1
Parent: 598b9a56373f0596ed48f7af730706aaee998d5f
Author: Bruce Fields [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:09 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:14 2007 -0700

[PATCH] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix 
default ace

A regression introduced in the last set of acl patches removed the
INHERIT_ONLY flag from aces derived from the posix acl.  Fix.

Signed-off-by: J. Bruce Fields [EMAIL PROTECTED]
Signed-off-by: Neil Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/nfsd/nfs4acl.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c
index 832673b..673a53c 100644
--- a/fs/nfsd/nfs4acl.c
+++ b/fs/nfsd/nfs4acl.c
@@ -228,7 +228,7 @@ _posix_to_nfsv4_one(struct posix_acl *pacl, struct nfs4_acl 
*acl,
struct posix_acl_summary pas;
unsigned short deny;
int eflag = ((flags  NFS4_ACL_TYPE_DEFAULT) ?
-   NFS4_INHERITANCE_FLAGS : 0);
+   NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0);
 
BUG_ON(pacl-a_count  3);
summarize_posix_acl(pacl, pas);
-
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


[PATCH] correct slow acpi_pm rating

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ff100d76ff76477a2ead3aac94d04f2e891f44e
Commit: 1ff100d76ff76477a2ead3aac94d04f2e891f44e
Parent: d340d89087534e8b12e1b6ed1c1569dd892b5465
Author: john stultz [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:19 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] correct slow acpi_pm rating

On Bob's machine clocksource is selecting PIT over the ACPI PM timer,
because he has the PIIX4 bug.  That bug drops the ACPI PM timers rating
to the same as the PIT, so that's why you're getting the PIT.

Realistically, the PIT is much slower then even the triple read ACPI PM,
so the de-ranking code is probably dropping it too far.

So don't drop ACPI PM quite so low if we see the PIIX4 bug.

Signed-off-by: John Stultz [EMAIL PROTECTED]
Cc: Bob Tracy [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Thomas Gleixner [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/clocksource/acpi_pm.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c
index d42060e..5ac309e 100644
--- a/drivers/clocksource/acpi_pm.c
+++ b/drivers/clocksource/acpi_pm.c
@@ -90,7 +90,7 @@ __setup(acpi_pm_good, acpi_pm_good_setup);
 static inline void acpi_pm_need_workaround(void)
 {
clocksource_acpi_pm.read = acpi_pm_read_slow;
-   clocksource_acpi_pm.rating = 110;
+   clocksource_acpi_pm.rating = 120;
 }
 
 /*
-
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


[PATCH] uml: fix epoll

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d75e26a8298f84bca66374e98fa69049f26083ba
Commit: d75e26a8298f84bca66374e98fa69049f26083ba
Parent: 3899210ad9850e3b8909674c92dccbd3caaf9750
Author: Jeff Dike [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:20 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] uml: fix epoll

UML/x86_64 needs the same packing of struct epoll_event as x86_64.

Signed-off-by: Jeff Dike [EMAIL PROTECTED]
Cc: Davide Libenzi davidel@xmailserver.org
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/eventpoll.h |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h
index 84cfa8b..d2a96cb 100644
--- a/include/linux/eventpoll.h
+++ b/include/linux/eventpoll.h
@@ -31,12 +31,19 @@
 /* 
  * On x86-64 make the 64bit structure have the same alignment as the
  * 32bit structure. This makes 32bit emulation easier.
+ *
+ * UML/x86_64 needs the same packing as x86_64 - UML + UML_X86 +
+ * 64_BIT adds up to UML/x86_64.
  */
 #ifdef __x86_64__
 #define EPOLL_PACKED __attribute__((packed))
 #else
+#if defined(CONFIG_UML)  defined(CONFIG_UML_X86)  defined(CONFIG_64BIT)
+#define EPOLL_PACKED __attribute__((packed))
+#else
 #define EPOLL_PACKED
 #endif
+#endif
 
 struct epoll_event {
__u32 events;
-
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


[PATCH] tty: minor merge correction

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62b3e920ed7612f318126f9c9b37c6a8dcd4199e
Commit: 62b3e920ed7612f318126f9c9b37c6a8dcd4199e
Parent: d75e26a8298f84bca66374e98fa69049f26083ba
Author: Alan Cox [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:21 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] tty: minor merge correction

Its now used.. because we added the new definitions so enabled all the
goodies on i386

Signed-off-by: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/asm-i386/termbits.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/asm-i386/termbits.h b/include/asm-i386/termbits.h
index 12baf1d..2e62376 100644
--- a/include/asm-i386/termbits.h
+++ b/include/asm-i386/termbits.h
@@ -144,7 +144,7 @@ struct ktermios {
 #define  B300 0010015
 #define  B350 0010016
 #define  B400 0010017
-#define CIBAUD   00200360  /* input baud rate (not used) */
+#define CIBAUD   00200360
 #define CMSPAR   0100  /* mark or space (stick) parity */
 #define CRTSCTS  0200  /* flow control */
 
-
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


[PATCH] utsns: fix !CONFIG_UTS_NS behavior

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78d832f62643ac6209beccbfb29228314423935e
Commit: 78d832f62643ac6209beccbfb29228314423935e
Parent: 62b3e920ed7612f318126f9c9b37c6a8dcd4199e
Author: Serge E. Hallyn [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:22 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] utsns: fix !CONFIG_UTS_NS behavior

When CONFIG_UTS_NS=n, clone(CLONE_NEWUTS) quietly refuses.  So correctly 
does
not unshare a new uts namespace, but also does not return -EINVAL.

Fix this to return -EINVAL so the caller knows his request was denied.

Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/utsname.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/utsname.h b/include/linux/utsname.h
index a4555fe..e10267d 100644
--- a/include/linux/utsname.h
+++ b/include/linux/utsname.h
@@ -70,6 +70,8 @@ static inline int unshare_utsname(unsigned long unshare_flags,
 
 static inline int copy_utsname(int flags, struct task_struct *tsk)
 {
+   if (flags  CLONE_NEWUTS)
+   return -EINVAL;
return 0;
 }
 static inline void put_uts_ns(struct uts_namespace *ns)
-
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


[PATCH] uml: fix static linking

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632fc8f809a97f9d82ce125e8e3e579390ce2e5
Commit: 7632fc8f809a97f9d82ce125e8e3e579390ce2e5
Parent: e9d5a461157c1244475bc400fcac7f871608715e
Author: Jeff Dike [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:24 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] uml: fix static linking

During a static link, ld has started putting a .note section in the
.uml.setup.init section.  This has the result that the UML setups begin
with 32 bytes of garbage and UML crashes immediately on boot.

This patch creates a specific .note section for ld to drop this stuff
into.

Signed-off-by: Jeff Dike [EMAIL PROTECTED]
Cc: Paolo 'Blaisorblade' Giarrusso [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/asm-um/common.lds.S |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S
index f045451..b16222b 100644
--- a/include/asm-um/common.lds.S
+++ b/include/asm-um/common.lds.S
@@ -15,6 +15,7 @@
   PROVIDE (_unprotected_end = .);
 
   . = ALIGN(4096);
+  .note : { *(note.*) }
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
-
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


[PATCH] uml: use correct register file size everywhere

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b92c4f922b2e8c70f8790d42e45bb9401c57be63
Commit: b92c4f922b2e8c70f8790d42e45bb9401c57be63
Parent: 7632fc8f809a97f9d82ce125e8e3e579390ce2e5
Author: Jeff Dike [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:25 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] uml: use correct register file size everywhere

This patch uses MAX_REG_NR consistently to refer to the register file size.
 FRAME_SIZE isn't sufficient because on x86_64, it is smaller than the
ptrace register file size.  MAX_REG_NR was introduced as a consistent way
to get the number of registers, but wasn't used everywhere it should be.

When this causes a problem, it makes PTRACE_SETREGS fail on x86_64 because
of a corrupted segment register value in the known-good register file.  The
patch also adds a register dump at that point in case there are any future
problems here.

Signed-off-by: Jeff Dike [EMAIL PROTECTED]
Cc: Paolo 'Blaisorblade' Giarrusso [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/um/include/sysdep-x86_64/ptrace.h  |4 
 arch/um/os-Linux/skas/mem.c |   10 +++---
 arch/um/os-Linux/skas/process.c |6 +++---
 arch/um/os-Linux/sys-i386/registers.c   |5 +++--
 arch/um/os-Linux/sys-x86_64/registers.c |4 ++--
 5 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/arch/um/include/sysdep-x86_64/ptrace.h 
b/arch/um/include/sysdep-x86_64/ptrace.h
index 66cb400..62403bd 100644
--- a/arch/um/include/sysdep-x86_64/ptrace.h
+++ b/arch/um/include/sysdep-x86_64/ptrace.h
@@ -104,10 +104,6 @@ union uml_pt_regs {
 #endif
 #ifdef UML_CONFIG_MODE_SKAS
struct skas_regs {
-   /* x86_64 ptrace uses sizeof(user_regs_struct) as its register
-* file size, while i386 uses FRAME_SIZE.  Therefore, we need
-* to use UM_FRAME_SIZE here instead of HOST_FRAME_SIZE.
-*/
unsigned long regs[MAX_REG_NR];
unsigned long fp[HOST_FP_SIZE];
 struct faultinfo faultinfo;
diff --git a/arch/um/os-Linux/skas/mem.c b/arch/um/os-Linux/skas/mem.c
index b3c11cf..9383e87 100644
--- a/arch/um/os-Linux/skas/mem.c
+++ b/arch/um/os-Linux/skas/mem.c
@@ -48,7 +48,7 @@ int multi_op_count = 0;
 static inline long do_syscall_stub(struct mm_id * mm_idp, void **addr)
 {
unsigned long regs[MAX_REG_NR];
-   int n;
+   int n, i;
long ret, offset;
unsigned long * data;
unsigned long * syscall;
@@ -66,9 +66,13 @@ static inline long do_syscall_stub(struct mm_id * mm_idp, 
void **addr)
 (unsigned long) __syscall_stub_start);
 
n = ptrace_setregs(pid, regs);
-   if(n  0)
+   if(n  0){
+   printk(Registers - \n);
+   for(i = 0; i  MAX_REG_NR; i++)
+   printk(\t%d\t0x%lx\n, i, regs[i]);
panic(do_syscall_stub : PTRACE_SETREGS failed, errno = %d\n,
- n);
+ -n);
+   }
 
wait_stub_done(pid, 0, do_syscall_stub);
 
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index dda0678..0564422 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -67,7 +67,7 @@ void wait_stub_done(int pid, int sig, char * fname)
 
if((n  0) || !WIFSTOPPED(status) ||
   (WSTOPSIG(status) != SIGUSR1  WSTOPSIG(status) != SIGTRAP)){
-   unsigned long regs[HOST_FRAME_SIZE];
+   unsigned long regs[MAX_REG_NR];
 
if(ptrace(PTRACE_GETREGS, pid, 0, regs)  0)
printk(Failed to get registers from stub, 
@@ -76,7 +76,7 @@ void wait_stub_done(int pid, int sig, char * fname)
int i;
 
printk(Stub registers -\n);
-   for(i = 0; i  HOST_FRAME_SIZE; i++)
+   for(i = 0; i  ARRAY_SIZE(regs); i++)
printk(\t%d - %lx\n, i, regs[i]);
}
panic(%s : failed to wait for SIGUSR1/SIGTRAP, 
@@ -328,7 +328,7 @@ void userspace(union uml_pt_regs *regs)
 int copy_context_skas0(unsigned long new_stack, int pid)
 {
int err;
-   unsigned long regs[HOST_FRAME_SIZE];
+   unsigned long regs[MAX_REG_NR];
unsigned long fp_regs[HOST_FP_SIZE];
unsigned long current_stack = current_stub_stack();
struct stub_data *data = (struct stub_data *) current_stack;
diff --git a/arch/um/os-Linux/sys-i386/registers.c 
b/arch/um/os-Linux/sys-i386/registers.c
index 79cd93c..84b44f9 100644
--- a/arch/um/os-Linux/sys-i386/registers.c
+++ b/arch/um/os-Linux/sys-i386/registers.c
@@ -15,7 +15,7 @@
 
 /* 

[PATCH] ntp: avoid time_offset overflows

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62ac21aa075c8ddf3d02a98d28afce635e77e8e
Commit: d62ac21aa075c8ddf3d02a98d28afce635e77e8e
Parent: b92c4f922b2e8c70f8790d42e45bb9401c57be63
Author: john stultz [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:26 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] ntp: avoid time_offset overflows

I've been seeing some odd NTP behavior recently on a few boxes and
finally narrowed it down to time_offset overflowing when converted to
SHIFT_UPDATE units (which was a side effect from my HZfreeNTP patch).

This patch converts time_offset from a long to a s64 which resolves the
issue.

[EMAIL PROTECTED]: signedness fixes]
Signed-off-by: John Stultz [EMAIL PROTECTED]
Cc: Roman Zippel [EMAIL PROTECTED]
Cc: john stultz [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Thomas Gleixner [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/time/ntp.c |   30 --
 1 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index eb12509..cb25649 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -32,7 +32,7 @@ static u64 tick_length, tick_length_base;
 /* TIME_ERROR prevents overwriting the CMOS clock */
 static int time_state = TIME_OK;   /* clock synchronization status */
 int time_status = STA_UNSYNC;  /* clock status bits*/
-static long time_offset;   /* time adjustment (ns) */
+static s64 time_offset;/* time adjustment (ns) */
 static long time_constant = 2; /* pll time constant*/
 long time_maxerror = NTP_PHASE_LIMIT;  /* maximum error (us)   */
 long time_esterror = NTP_PHASE_LIMIT;  /* estimated error (us) */
@@ -196,7 +196,7 @@ void __attribute__ ((weak)) notify_arch_cmos_timer(void)
  */
 int do_adjtimex(struct timex *txc)
 {
-   long ltemp, mtemp, save_adjust;
+   long mtemp, save_adjust, rem;
s64 freq_adj, temp64;
int result;
 
@@ -277,14 +277,14 @@ int do_adjtimex(struct timex *txc)
time_adjust = txc-offset;
}
else if (time_status  STA_PLL) {
-   ltemp = txc-offset * NSEC_PER_USEC;
+   time_offset = txc-offset * NSEC_PER_USEC;
 
/*
 * Scale the phase adjustment and
 * clamp to the operating range.
 */
-   time_offset = min(ltemp, MAXPHASE * NSEC_PER_USEC);
-   time_offset = max(time_offset, -MAXPHASE * NSEC_PER_USEC);
+   time_offset = min(time_offset, (s64)MAXPHASE * 
NSEC_PER_USEC);
+   time_offset = max(time_offset, (s64)-MAXPHASE * 
NSEC_PER_USEC);
 
/*
 * Select whether the frequency is to be controlled
@@ -297,11 +297,11 @@ int do_adjtimex(struct timex *txc)
mtemp = xtime.tv_sec - time_reftime;
time_reftime = xtime.tv_sec;
 
-   freq_adj = (s64)time_offset * mtemp;
+   freq_adj = time_offset * mtemp;
freq_adj = shift_right(freq_adj, time_constant * 2 +
   (SHIFT_PLL + 2) * 2 - SHIFT_NSEC);
if (mtemp = MINSEC  (time_status  STA_FLL || mtemp  
MAXSEC)) {
-   temp64 = (s64)time_offset  (SHIFT_NSEC - SHIFT_FLL);
+   temp64 = time_offset  (SHIFT_NSEC - SHIFT_FLL);
if (time_offset  0) {
temp64 = -temp64;
do_div(temp64, mtemp);
@@ -314,8 +314,10 @@ int do_adjtimex(struct timex *txc)
freq_adj += time_freq;
freq_adj = min(freq_adj, (s64)MAXFREQ_NSEC);
time_freq = max(freq_adj, (s64)-MAXFREQ_NSEC);
-   time_offset = (time_offset / NTP_INTERVAL_FREQ)
-SHIFT_UPDATE;
+   time_offset = div_long_long_rem_signed(time_offset,
+  NTP_INTERVAL_FREQ,
+  rem);
+   time_offset = SHIFT_UPDATE;
} /* STA_PLL */
} /* txc-modes  ADJ_OFFSET */
if (txc-modes  ADJ_TICK)
@@ -328,12 +330,12 @@ leave:if ((time_status  (STA_UNSYNC|STA_CLOCKERR)) 
!= 0)
result = TIME_ERROR;
 
if ((txc-modes  ADJ_OFFSET_SINGLESHOT) == ADJ_OFFSET_SINGLESHOT)
-   txc-offset= save_adjust;
+   txc-offset = save_adjust;
else
-   txc-offset= shift_right(time_offset, 

[PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74b9a297866d0416edd0be5014cb0810de049c6a
Commit: 74b9a297866d0416edd0be5014cb0810de049c6a
Parent: d62ac21aa075c8ddf3d02a98d28afce635e77e8e
Author: Adrian Bunk [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:27 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:15 2007 -0700

[PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init

  WARNING: drivers/built-in.o - Section mismatch: reference to 
.init.text:eisa_root_register from .text between 'pci_eisa_init' (at offset 
0xabf670) and 'virtual_eisa_release'

AFAIK a PCI to EISA bridge isn't anything hotpluggable, so
pci_eisa_init() can become __init.

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/eisa/pci_eisa.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 9e91362..74edb1d 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -19,8 +19,8 @@
 /* There is only *one* pci_eisa device per machine, right ? */
 static struct eisa_root_device pci_eisa_root;
 
-static int __devinit pci_eisa_init (struct pci_dev *pdev,
-   const struct pci_device_id *ent)
+static int __init pci_eisa_init(struct pci_dev *pdev,
+   const struct pci_device_id *ent)
 {
int rc;
 
-
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


[PATCH] Fix struct device member name in PCMCIA au1000_generic

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a
Commit: 88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a
Parent: 74b9a297866d0416edd0be5014cb0810de049c6a
Author: Yoichi Yuasa [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:28 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:16 2007 -0700

[PATCH] Fix struct device member name in PCMCIA au1000_generic

  drivers/pcmcia/au1000_generic.c: In function 'au1x00_pcmcia_socket_probe':
  drivers/pcmcia/au1000_generic.c:375: error: 'struct device' has no member 
named 'dev'

Signed-off-by: Yoichi Yuasa [EMAIL PROTECTED]
Cc: Ralf Baechle [EMAIL PROTECTED]
Cc: Jaroslav Kysela [EMAIL PROTECTED]
Cc: Takashi Iwai [EMAIL PROTECTED]
Cc: Greg KH [EMAIL PROTECTED]
Cc: Dominik Brodowski [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/pcmcia/au1000_generic.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/pcmcia/au1000_generic.c b/drivers/pcmcia/au1000_generic.c
index 551bde5..b693367 100644
--- a/drivers/pcmcia/au1000_generic.c
+++ b/drivers/pcmcia/au1000_generic.c
@@ -372,7 +372,7 @@ int au1x00_pcmcia_socket_probe(struct device *dev, struct 
pcmcia_low_level *ops,
skt-socket.resource_ops = pccard_static_ops;
skt-socket.ops = au1x00_pcmcia_operations;
skt-socket.owner = ops-owner;
-   skt-socket.dev.dev = dev;
+   skt-socket.dev.parent = dev;
 
init_timer(skt-poll_timer);
skt-poll_timer.function = au1x00_pcmcia_poll_event;
-
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


[PATCH] i2o: block IO errors on i2o disk

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1985ad1da28eac507d855af8099f6010c51b167
Commit: d1985ad1da28eac507d855af8099f6010c51b167
Parent: 88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a
Author: Vasily Averin [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:30 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:16 2007 -0700

[PATCH] i2o: block IO errors on i2o disk

I2O subsystem has been broken in mainstream several months ago (after
2.6.18).  Commit 4aff5e2333c9a1609662f2091f55c3f6fffdad36 from Jens
Axboe split struct request -flags into two parts: cmd_type and
cmd_flags.

In i2o layer this patch has replaced flag REQ_SPECIAL by the according
cmd_type.  However i2o has used REQ_SPECIAL not as command type but as
driver-specific flag for the debug purposes.  As result all i2o requests
have type special now, are not processed to the hardware and fail with
I/O error:

   i2o/hda:3Buffer I/O error on device i2o/hda, logical block 0
  Buffer I/O error on device i2o/hda, logical block 0
  Buffer I/O error on device i2o/hda, logical block 0
   unable to read partition table
  block-osm: device added (TID: 207): i2o/hda

The following patch removes the extra debug checks without any drawbacks and
restores the normal driver's work.

Signed-off-by:  Vasily Averin [EMAIL PROTECTED]
Acked-by: Markus Lidel [EMAIL PROTECTED]
Cc: Jens Axboe [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/message/i2o/i2o_block.c |   12 +---
 1 files changed, 1 insertions(+), 11 deletions(-)

diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index da9859f..b17c4b2 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -390,13 +390,6 @@ static int i2o_block_prep_req_fn(struct request_queue *q, 
struct request *req)
return BLKPREP_KILL;
}
 
-   /* request is already processed by us, so return */
-   if (blk_special_request(req)) {
-   osm_debug(REQ_SPECIAL already set!\n);
-   req-cmd_flags |= REQ_DONTPREP;
-   return BLKPREP_OK;
-   }
-
/* connect the i2o_block_request to the request */
if (!req-special) {
ireq = i2o_block_request_alloc();
@@ -408,11 +401,8 @@ static int i2o_block_prep_req_fn(struct request_queue *q, 
struct request *req)
ireq-i2o_blk_dev = i2o_blk_dev;
req-special = ireq;
ireq-req = req;
-   } else
-   ireq = req-special;
-
+   }
/* do not come back here */
-   req-cmd_type = REQ_TYPE_SPECIAL;
req-cmd_flags |= REQ_DONTPREP;
 
return BLKPREP_OK;
-
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


[PATCH] ipcns: fix !CONFIG_IPC_NS behavior

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a28d193cbf01375974683c13e99a52ef489e5eb0
Commit: a28d193cbf01375974683c13e99a52ef489e5eb0
Parent: d1985ad1da28eac507d855af8099f6010c51b167
Author: Serge E. Hallyn [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:31 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:16 2007 -0700

[PATCH] ipcns: fix !CONFIG_IPC_NS behavior

When CONFIG_IPC_NS=n, clone(CLONE_NEWIPC) claims success, but did not 
actually
clone a new IPC namespace.

Fix this to return -EINVAL so the caller knows his request was denied.

Signed-off-by: Serge E. Hallyn [EMAIL PROTECTED]
Cc: Eric W. Biederman [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/ipc.h |9 +++--
 ipc/util.c  |7 +++
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/include/linux/ipc.h b/include/linux/ipc.h
index 636094c..6da6772 100644
--- a/include/linux/ipc.h
+++ b/include/linux/ipc.h
@@ -92,19 +92,16 @@ extern struct ipc_namespace init_ipc_ns;
 
 #ifdef CONFIG_SYSVIPC
 #define INIT_IPC_NS(ns).ns = init_ipc_ns,
+extern int copy_ipcs(unsigned long flags, struct task_struct *tsk);
 #else
 #define INIT_IPC_NS(ns)
+static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk)
+{ return 0; }
 #endif
 
 #ifdef CONFIG_IPC_NS
 extern void free_ipc_ns(struct kref *kref);
-extern int copy_ipcs(unsigned long flags, struct task_struct *tsk);
 extern int unshare_ipcs(unsigned long flags, struct ipc_namespace **ns);
-#else
-static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk)
-{
-   return 0;
-}
 #endif
 
 static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns)
diff --git a/ipc/util.c b/ipc/util.c
index 08a6479..0b65238 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -144,6 +144,13 @@ void free_ipc_ns(struct kref *kref)
shm_exit_ns(ns);
kfree(ns);
 }
+#else
+int copy_ipcs(unsigned long flags, struct task_struct *tsk)
+{
+   if (flags  CLONE_NEWIPC)
+   return -EINVAL;
+   return 0;
+}
 #endif
 
 /**
-
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


[PATCH] Fix kernel build with EMBEDDED PROC_FS !PROC_SYSCTL

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c46010af210712c8a390c7fe50ff05448983061
Commit: 5c46010af210712c8a390c7fe50ff05448983061
Parent: b8f2f5165c3eb22d7b19405d80fd82339507a950
Author: Mika Kukkonen [EMAIL PROTECTED]
AuthorDate: Mon Mar 26 21:32:33 2007 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:05:16 2007 -0700

[PATCH] Fix kernel build with EMBEDDED  PROC_FS  !PROC_SYSCTL

Without attached patch against current -git I get following with
!PROC_SYSCTL (with EMBEDDED and PROC_FS set):

CC  init/version.o
LD  init/built-in.o
LD  vmlinux
  fs/built-in.o: In function `do_proc_sys_lookup':
  proc_sysctl.c:(.text+0x26583): undefined reference to `sysctl_head_next'
  fs/built-in.o: In function `proc_sys_revalidate':
  proc_sysctl.c:(.text+0x265bb): undefined reference to `sysctl_head_finish'
  fs/built-in.o: In function `proc_sys_readdir':
  proc_sysctl.c:(.text+0x26720): undefined reference to `sysctl_head_next'
  proc_sysctl.c:(.text+0x267d8): undefined reference to `sysctl_head_finish'
  proc_sysctl.c:(.text+0x268e7): undefined reference to `sysctl_head_next'
  proc_sysctl.c:(.text+0x26910): undefined reference to `sysctl_head_finish'
  fs/built-in.o: In function `proc_sys_write':
  proc_sysctl.c:(.text+0x2695d): undefined reference to `sysctl_perm'
  proc_sysctl.c:(.text+0x2699c): undefined reference to `sysctl_head_finish'
  fs/built-in.o: In function `proc_sys_read':
  proc_sysctl.c:(.text+0x269e9): undefined reference to `sysctl_perm'
  proc_sysctl.c:(.text+0x26a25): undefined reference to `sysctl_head_finish'
  fs/built-in.o: In function `proc_sys_permission':
  proc_sysctl.c:(.text+0x26ad1): undefined reference to `sysctl_perm'
  proc_sysctl.c:(.text+0x26adb): undefined reference to `sysctl_head_finish'
  fs/built-in.o: In function `proc_sys_lookup':
  proc_sysctl.c:(.text+0x26b39): undefined reference to `sysctl_head_finish'
  make: *** [vmlinux] Virhe 1

All those functions are in fs/proc/proc_sysctl.c, which has no CONFIG_
#define's in it, so the patch makes the compilation of that file to depend
on CONFIG_PROC_SYSCTL (the simplest choice).

Acked-by: Eric W. Biederman [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/proc/Makefile |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/proc/Makefile b/fs/proc/Makefile
index a6b3a8f..bce38e3 100644
--- a/fs/proc/Makefile
+++ b/fs/proc/Makefile
@@ -8,8 +8,9 @@ proc-y  := nommu.o task_nommu.o
 proc-$(CONFIG_MMU) := mmu.o task_mmu.o
 
 proc-y   += inode.o root.o base.o generic.o array.o \
-   proc_tty.o proc_misc.o proc_sysctl.o
+   proc_tty.o proc_misc.o
 
+proc-$(CONFIG_PROC_SYSCTL) += proc_sysctl.o
 proc-$(CONFIG_PROC_KCORE)  += kcore.o
 proc-$(CONFIG_PROC_VMCORE) += vmcore.o
 proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o
-
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


block: blk_max_pfn is somtimes wrong

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f772b3d9ca135087a70406d8466e57d1cf29237e
Commit: f772b3d9ca135087a70406d8466e57d1cf29237e
Parent: 703071b5b93d88d5acb0edd5b9dd86c69ad970f2
Author: Vasily Tarasov [EMAIL PROTECTED]
AuthorDate: Tue Mar 27 08:52:47 2007 +0200
Committer:  Jens Axboe [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:52:47 2007 +0200

block: blk_max_pfn is somtimes wrong

There is a small problem in handling page bounce.

At the moment blk_max_pfn equals max_pfn, which is in fact not maximum
possible _number_ of a page frame, but the _amount_ of page frames.  For
example for the 32bit x86 node with 4Gb RAM, max_pfn = 0x10, but not
0x.

request_queue structure has a member q-bounce_pfn and queue needs bounce
pages for the pages _above_ this limit.  This routine is handled by
blk_queue_bounce(), where the following check is produced:

if (q-bounce_pfn = blk_max_pfn)
return;

Assume, that a driver has set q-bounce_pfn to 0x, but blk_max_pfn
equals 0x1.  In such situation the check above fails and for each bio
we always fall down for iterating over pages tied to the bio.

I want to notice, that for quite a big range of device drivers (ide, md,
...) such problem doesn't happen because they use BLK_BOUNCE_ANY for
bounce_pfn.  BLK_BOUNCE_ANY is defined as blk_max_pfn  PAGE_SHIFT, and
then the check above doesn't fail.  But for other drivers, which obtain
reuired value from drivers, it fails.  For example sata_nv uses
ATA_DMA_MASK or dev-dma_mask.

I propose to use (max_pfn - 1) for blk_max_pfn.  And the same for
blk_max_low_pfn.  The patch also cleanses some checks related with
bounce_pfn.

Signed-off-by: Vasily Tarasov [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Jens Axboe [EMAIL PROTECTED]
---
 block/ll_rw_blk.c |6 +++---
 mm/bounce.c   |2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 38c293b..3de0695 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -1221,7 +1221,7 @@ void blk_recount_segments(request_queue_t *q, struct bio 
*bio)
 * considered part of another segment, since that might
 * change with the bounce page.
 */
-   high = page_to_pfn(bv-bv_page) = q-bounce_pfn;
+   high = page_to_pfn(bv-bv_page)  q-bounce_pfn;
if (high || highprv)
goto new_hw_segment;
if (cluster) {
@@ -3658,8 +3658,8 @@ int __init blk_dev_init(void)
open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL);
register_hotcpu_notifier(blk_cpu_notifier);
 
-   blk_max_low_pfn = max_low_pfn;
-   blk_max_pfn = max_pfn;
+   blk_max_low_pfn = max_low_pfn - 1;
+   blk_max_pfn = max_pfn - 1;
 
return 0;
 }
diff --git a/mm/bounce.c b/mm/bounce.c
index 643efbe..ad401fc 100644
--- a/mm/bounce.c
+++ b/mm/bounce.c
@@ -204,7 +204,7 @@ static void __blk_queue_bounce(request_queue_t *q, struct 
bio **bio_orig,
/*
 * is destination page below bounce pfn?
 */
-   if (page_to_pfn(page)  q-bounce_pfn)
+   if (page_to_pfn(page) = q-bounce_pfn)
continue;
 
/*
-
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


make elv_register() output atomic

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ffb96c587fa2af0d690dc3548a4a781c477bfb7
Commit: 1ffb96c587fa2af0d690dc3548a4a781c477bfb7
Parent: f772b3d9ca135087a70406d8466e57d1cf29237e
Author: Thibaut VARENE [EMAIL PROTECTED]
AuthorDate: Thu Mar 15 12:59:19 2007 +0100
Committer:  Jens Axboe [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:53:04 2007 +0200

make elv_register() output atomic

Booting 2.6.21-rc3-g45592145 I noticed the following on one of my
machines in the bootlog:

io scheduler noop registered6Time: jiffies clocksource has been installed.

io scheduler deadline registered (default)

Looking at block/elevator.c, it appears that elv_register() uses two
consecutive printks in a non-atomic way, leading to the above glitch. The
attached trivial patch fixes this issue, by using a single printk.

Signed-off-by: Thibaut VARENE [EMAIL PROTECTED]
Signed-off-by: Jens Axboe [EMAIL PROTECTED]
---
 block/elevator.c |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/block/elevator.c b/block/elevator.c
index 25f6ef2..96a00c8 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -964,17 +964,18 @@ void elv_unregister_queue(struct request_queue *q)
 
 int elv_register(struct elevator_type *e)
 {
+   char *def = ;
spin_lock_irq(elv_list_lock);
BUG_ON(elevator_find(e-elevator_name));
list_add_tail(e-list, elv_list);
spin_unlock_irq(elv_list_lock);
 
-   printk(KERN_INFO io scheduler %s registered, e-elevator_name);
if (!strcmp(e-elevator_name, chosen_elevator) ||
(!*chosen_elevator 
 !strcmp(e-elevator_name, CONFIG_DEFAULT_IOSCHED)))
-   printk( (default));
-   printk(\n);
+   def =  (default);
+
+   printk(KERN_INFO io scheduler %s registered%s\n, e-elevator_name, 
def);
return 0;
 }
 EXPORT_SYMBOL_GPL(elv_register);
-
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


2/2 splice: dont readpage

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c72591636829d40bd695d43ec6d2a8191b668b
Commit: 08c72591636829d40bd695d43ec6d2a8191b668b
Parent: 485ddb4b9741bafb70b22e5c1f9b4f37dc3e85bd
Author: Nick Piggin [EMAIL PROTECTED]
AuthorDate: Tue Mar 27 08:55:39 2007 +0200
Committer:  Jens Axboe [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:55:39 2007 +0200

2/2 splice: dont readpage

Splice does not need to readpage to bring the page uptodate before writing
to it, because prepare_write will take care of that for us.

Splice is also wrong to SetPageUptodate before the page is actually 
uptodate.
This results in the old uninitialised memory leak. This gets fixed as a
matter of course when removing the readpage logic.

Signed-off-by: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Jens Axboe [EMAIL PROTECTED]
---
 fs/splice.c |   30 --
 1 files changed, 0 insertions(+), 30 deletions(-)

diff --git a/fs/splice.c b/fs/splice.c
index badc78f..ae50208 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -593,36 +593,6 @@ find_page:
goto out;
}
 
-   /*
-* We get here with the page locked. If the page is also
-* uptodate, we don't need to do more. If it isn't, we
-* may need to bring it in if we are not going to overwrite
-* the full page.
-*/
-   if (!PageUptodate(page)) {
-   if (this_len  PAGE_CACHE_SIZE) {
-   ret = mapping-a_ops-readpage(file, page);
-   if (unlikely(ret))
-   goto out;
-
-   lock_page(page);
-
-   if (!PageUptodate(page)) {
-   /*
-* Page got invalidated, repeat.
-*/
-   if (!page-mapping) {
-   unlock_page(page);
-   page_cache_release(page);
-   goto find_page;
-   }
-   ret = -EIO;
-   goto out;
-   }
-   } else
-   SetPageUptodate(page);
-   }
-
ret = mapping-a_ops-prepare_write(file, page, offset, 
offset+this_len);
if (unlikely(ret)) {
loff_t isize = i_size_read(mapping-host);
-
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


[PATCH] i386: Fix bogus return value in hpet_next_event()

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7f6d15ff2664467a2cb669abcabb5ffaf719b2d
Commit: c7f6d15ff2664467a2cb669abcabb5ffaf719b2d
Parent: e0ab0bb6d2b77917f4c31f157b2690602a5608f9
Author: Thomas Gleixner [EMAIL PROTECTED]
AuthorDate: Tue Mar 27 09:08:26 2007 +0200
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:08:08 2007 -0700

[PATCH] i386: Fix bogus return value in hpet_next_event()

The clockevents / tick management code expects an error value, when the
event is already expired. hpet_next_event() returns 1 in that case.

Fix it to return the proper -ETIME error code.

Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/i386/kernel/hpet.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/i386/kernel/hpet.c b/arch/i386/kernel/hpet.c
index f3ab61e..76afea6 100644
--- a/arch/i386/kernel/hpet.c
+++ b/arch/i386/kernel/hpet.c
@@ -197,7 +197,7 @@ static int hpet_next_event(unsigned long delta,
cnt += delta;
hpet_writel(cnt, HPET_T0_CMP);
 
-   return ((long)(hpet_readl(HPET_COUNTER) - cnt )  0);
+   return ((long)(hpet_readl(HPET_COUNTER) - cnt )  0) ? -ETIME : 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


[PATCH] Revert swsusp: disable nonboot CPUs before entering platform suspend

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=436ce71638eceb0f9dd7608157807c37b29c3db7
Commit: 436ce71638eceb0f9dd7608157807c37b29c3db7
Parent: c7f6d15ff2664467a2cb669abcabb5ffaf719b2d
Author: Rafael J. Wysocki [EMAIL PROTECTED]
AuthorDate: Tue Mar 27 12:09:13 2007 +0200
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Tue Mar 27 09:20:03 2007 -0700

[PATCH] Revert swsusp: disable nonboot CPUs before entering platform 
suspend

This reverts commit 94985134b7b46848267ed6b734320db01c974e72 and
insteads removes the WARN_ON() that caused that commit in the first
place.

The problem is that we call disable_nonboot_cpus() in swsusp before
powering down the system in order to avoid triggering the WARN_ON()
in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping() and this doesn't
work well on Thomas' system.

So instead, remove the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:
init_low_mapping(), which triggers every time during the suspend to disk
in the platform mode, as the potential problem it is related to doesn't
seem to occur in practice.

[ I think we might want to disallow the case of multiple users of that
  mm, or something.  Normally, playing with the current process page
  tables on the current CPU should be fine as long as we don't have
  other threads using those tables at the same time..

  Anyway, not pretty, but better than the warning or the lockup - Linus ]

Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/x86_64/kernel/acpi/sleep.c |4 +++-
 kernel/power/disk.c |1 -
 kernel/power/user.c |3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86_64/kernel/acpi/sleep.c b/arch/x86_64/kernel/acpi/sleep.c
index 23178ce..e1548fb 100644
--- a/arch/x86_64/kernel/acpi/sleep.c
+++ b/arch/x86_64/kernel/acpi/sleep.c
@@ -66,8 +66,10 @@ static void init_low_mapping(void)
 {
pgd_t *slot0 = pgd_offset(current-mm, 0UL);
low_ptr = *slot0;
+   /* FIXME: We're playing with the current task's page tables here, which
+* is potentially dangerous on SMP systems.
+*/
set_pgd(slot0, *pgd_offset(current-mm, PAGE_OFFSET));
-   WARN_ON(num_online_cpus() != 1);
local_flush_tlb();
 }
 
diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index dee0ff4..aec19b0 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -58,7 +58,6 @@ static inline int platform_prepare(void)
 
 static void power_down(suspend_disk_method_t mode)
 {
-   disable_nonboot_cpus();
switch(mode) {
case PM_DISK_PLATFORM:
if (pm_ops  pm_ops-enter) {
diff --git a/kernel/power/user.c b/kernel/power/user.c
index bf211fe..7cf6713 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -401,10 +401,9 @@ static int snapshot_ioctl(struct inode *inode, struct file 
*filp,
 
case PMOPS_ENTER:
if (data-platform_suspend) {
-   disable_nonboot_cpus();
kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
error = pm_ops-enter(PM_SUSPEND_DISK);
-   enable_nonboot_cpus();
+   error = 0;
}
break;
 
-
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


V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=726cf56f24cbadaad1719724a30c29eb92911524
Commit: 726cf56f24cbadaad1719724a30c29eb92911524
Parent: 703071b5b93d88d5acb0edd5b9dd86c69ad970f2
Author: Vincent Penne [EMAIL PROTECTED]
AuthorDate: Sun Mar 25 11:58:23 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:53 2007 -0300

V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix

ir_rc5_timer_end decoder lockup fix

Signed-off-by: Vincent Penne [EMAIL PROTECTED]
Signed-off-by: Hermann Pitton [EMAIL PROTECTED]
Signed-off-by: Hartmut Hackmann [EMAIL PROTECTED]
Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 drivers/media/common/ir-functions.c |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/common/ir-functions.c 
b/drivers/media/common/ir-functions.c
index cbf7c05..fcb1941 100644
--- a/drivers/media/common/ir-functions.c
+++ b/drivers/media/common/ir-functions.c
@@ -310,13 +310,15 @@ void ir_rc5_timer_end(unsigned long data)
tv.tv_usec - ir-base_time.tv_usec;
}
 
-   /* Allow some timmer jitter (RC5 is ~24ms anyway so this is ok) */
+   /* signal we're ready to start a new code */
+   ir-active = 0;
+
+   /* Allow some timer jitter (RC5 is ~24ms anyway so this is ok) */
if (gap  28000) {
dprintk(1, ir-common: spurious timer_end\n);
return;
}
 
-   ir-active = 0;
if (ir-last_bit  20) {
/* ignore spurious codes (caused by light/other remotes) */
dprintk(1, ir-common: short code: %x\n, ir-code);
-
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


V4L/DVB (5390): Radio: Fix error in Kbuild file

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b10fece583fdfdb3d2f29b0da3896ec58b8fe122
Commit: b10fece583fdfdb3d2f29b0da3896ec58b8fe122
Parent: 726cf56f24cbadaad1719724a30c29eb92911524
Author: Trent Piepho [EMAIL PROTECTED]
AuthorDate: Wed Mar 7 18:19:46 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:53 2007 -0300

V4L/DVB (5390): Radio: Fix error in Kbuild file

All the radio drivers need video_dev, but they were depending on
VIDEO_DEV!=n.  That meant that one could try to compile the driver into
the kernel when VIDEO_DEV=m, which will not work.  If video_dev is a
module, then the radio drivers must be modules too.

Signed-off-by: Trent Piepho [EMAIL PROTECTED]
Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 drivers/media/radio/Kconfig |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index 920b63f..af66a5d 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -3,7 +3,7 @@
 #
 
 menu Radio Adapters
-   depends on VIDEO_DEV!=n
+   depends on VIDEO_DEV
 
 config RADIO_CADET
tristate ADS Cadet AM/FM Tuner
-
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


V4L/DVB (5408): Fix SECAM handling on saa7115

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a9aaec4e83e687d23b78b38e331bbd6a10b96380
Commit: a9aaec4e83e687d23b78b38e331bbd6a10b96380
Parent: c278850206fd9df0bb62a72ca0b277fe20c5a452
Author: Mauro Carvalho Chehab [EMAIL PROTECTED]
AuthorDate: Tue Mar 13 13:41:49 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:54 2007 -0300

V4L/DVB (5408): Fix SECAM handling on saa7115

Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 drivers/media/video/saa7115.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c
index 7735b67..4d5bbd8 100644
--- a/drivers/media/video/saa7115.c
+++ b/drivers/media/video/saa7115.c
@@ -961,7 +961,7 @@ static void saa711x_set_v4lstd(struct i2c_client *client, 
v4l2_std_id std)
reg |= 0x10;
} else if (std == V4L2_STD_NTSC_M_JP) {
reg |= 0x40;
-   } else if (std == V4L2_STD_SECAM) {
+   } else if (std  V4L2_STD_SECAM) {
reg |= 0x50;
}
saa711x_write(client, R_0E_CHROMA_CNTL_1, reg);
-
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


V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found.

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3284b4e077cb2322754ea7455b8f8af7ce3777b8
Commit: 3284b4e077cb2322754ea7455b8f8af7ce3777b8
Parent: a9aaec4e83e687d23b78b38e331bbd6a10b96380
Author: Hans Verkuil [EMAIL PROTECTED]
AuthorDate: Sat Mar 10 20:21:07 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:55 2007 -0300

V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found.

Returning -1 causes the probe to stop, but it should just continue
instead.

Signed-off-by: Hans Verkuil [EMAIL PROTECTED]
Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 drivers/media/video/msp3400-driver.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/msp3400-driver.c 
b/drivers/media/video/msp3400-driver.c
index 2fb9fe6..91078c0 100644
--- a/drivers/media/video/msp3400-driver.c
+++ b/drivers/media/video/msp3400-driver.c
@@ -825,7 +825,7 @@ static int msp_attach(struct i2c_adapter *adapter, int 
address, int kind)
if (msp_reset(client) == -1) {
v4l_dbg(1, msp_debug, client, msp3400 not found\n);
kfree(client);
-   return -1;
+   return 0;
}
 
state = kmalloc(sizeof(*state), GFP_KERNEL);
@@ -859,7 +859,7 @@ static int msp_attach(struct i2c_adapter *adapter, int 
address, int kind)
v4l_dbg(1, msp_debug, client, not an msp3400 (cannot read chip 
version)\n);
kfree(state);
kfree(client);
-   return -1;
+   return 0;
}
 
msp_set_audio(client);
-
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


V4L/DVB (5441): Saa7146: Fix allocation of clipping memory

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a7cd1920969dd9da4e0d99aab573b3eba24c799
Commit: 7a7cd1920969dd9da4e0d99aab573b3eba24c799
Parent: 21b48a70f7e26906d522c81b8b375b450a8f
Author: Oliver Endriss [EMAIL PROTECTED]
AuthorDate: Tue Mar 13 23:44:57 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:56 2007 -0300

V4L/DVB (5441): Saa7146: Fix allocation of clipping memory

Olaf Hering pointed out that SAA7146_CLIPPING_MEM would become
very large for PAGE_SIZE  4K.
In fact, the number of clipping windows is limited to 16,
and calculate_clipping_registers_rect() does not use more
than 256 bytes. SAA7146_CLIPPING_MEM adjusted accordingly.

Thanks-to: Olaf Hering [EMAIL PROTECTED]
Acked-by: Michael Hunold [EMAIL PROTECTED]
Signed-off-by: Oliver Endriss [EMAIL PROTECTED]
Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 include/media/saa7146_vv.h |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/include/media/saa7146_vv.h b/include/media/saa7146_vv.h
index 83fe2e3..50e33b0 100644
--- a/include/media/saa7146_vv.h
+++ b/include/media/saa7146_vv.h
@@ -239,7 +239,8 @@ void saa7146_res_free(struct saa7146_fh *fh, unsigned int 
bits);
 #define SAA7146_HPS_SYNC_PORT_B0x01
 
 /* some memory sizes */
-#define SAA7146_CLIPPING_MEM   (14*PAGE_SIZE)
+/* max. 16 clipping rectangles */
+#define SAA7146_CLIPPING_MEM   (16 * 4 * sizeof(u32))
 
 /* some defines for the various clipping-modes */
 #define SAA7146_CLIPPING_RECT  0x4
-
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


V4L/DVB (5472): Isl6421: don't reference freed memory

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09d4895488d4df5c58b739573846f514ceabc911
Commit: 09d4895488d4df5c58b739573846f514ceabc911
Parent: 7a7cd1920969dd9da4e0d99aab573b3eba24c799
Author: Thomas Viehweger [EMAIL PROTECTED]
AuthorDate: Thu Mar 22 11:20:32 2007 -0300
Committer:  Mauro Carvalho Chehab [EMAIL PROTECTED]
CommitDate: Tue Mar 27 08:45:56 2007 -0300

V4L/DVB (5472): Isl6421: don't reference freed memory

After freeing a block there should be no reference to this block.

Signed-off-by: Thomas Viehweger [EMAIL PROTECTED]
Signed-off-by: Michael Krufky [EMAIL PROTECTED]
Signed-off-by: Mauro Carvalho Chehab [EMAIL PROTECTED]
---
 drivers/media/dvb/frontends/isl6421.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/frontends/isl6421.c 
b/drivers/media/dvb/frontends/isl6421.c
index ef31936..c967148 100644
--- a/drivers/media/dvb/frontends/isl6421.c
+++ b/drivers/media/dvb/frontends/isl6421.c
@@ -122,6 +122,7 @@ struct dvb_frontend *isl6421_attach(struct dvb_frontend 
*fe, struct i2c_adapter
/* detect if it is present or not */
if (isl6421_set_voltage(fe, SEC_VOLTAGE_OFF)) {
kfree(isl6421);
+   fe-sec_priv = NULL;
return NULL;
}
 
-
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] lpfc: avoid double-free during PCI error failure

2007-03-27 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5daa49ef05c44ce94bed0bab0f9ba4a9e952863b
Commit: 5daa49ef05c44ce94bed0bab0f9ba4a9e952863b
Parent: be521466feb3bb1cd89de82a2b1d080e9ebd3cb6
Author: Linas Vepstas [EMAIL PROTECTED]
AuthorDate: Thu Mar 8 16:19:11 2007 -0600
Committer:  James Bottomley [EMAIL PROTECTED]
CommitDate: Sun Mar 11 10:42:17 2007 -0500

[SCSI] lpfc: avoid double-free during PCI error failure

If a PCI error is detected that cannot be recovered from, there
will be a double call of lpfc_pci_remove_one(), with the second call
resulting in a null-pointer dereference. The first call occurs in
lpfc_io_error_detected(), and the second call during pci device
remove. This patch eliminates the first call; its un-needed.

Signed-off-by: Linas Vepstas [EMAIL PROTECTED]
Acked-by: James Smart [EMAIL PROTECTED]
Signed-off-by: James Bottomley [EMAIL PROTECTED]
---
 drivers/scsi/lpfc/lpfc_init.c |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 9d014e5..057fd7e 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1817,10 +1817,9 @@ static pci_ers_result_t lpfc_io_error_detected(struct 
pci_dev *pdev,
struct lpfc_sli *psli = phba-sli;
struct lpfc_sli_ring  *pring;
 
-   if (state == pci_channel_io_perm_failure) {
-   lpfc_pci_remove_one(pdev);
+   if (state == pci_channel_io_perm_failure)
return PCI_ERS_RESULT_DISCONNECT;
-   }
+
pci_disable_device(pdev);
/*
 * There may be I/Os dropped by the firmware.
-
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