Trond Myklebust [Tue, 7 Aug 2007 19:33:01 +0000 (15:33 -0400)]
SUNRPC: Replace flush_workqueue() with cancel_work_sync() and friends
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Tue, 7 Aug 2007 19:28:33 +0000 (15:28 -0400)]
NFS: Replace flush_scheduled_work with cancel_work_sync() and friends
This will avoid deadlocks of the form:
stack backtrace:
[<
c0104fda>] show_trace_log_lvl+0x1a/0x30
[<
c0105c02>] show_trace+0x12/0x20
[<
c0105d15>] dump_stack+0x15/0x20
[<
c013ee42>] __lock_acquire+0xc22/0x1030
[<
c013f2b1>] lock_acquire+0x61/0x80
[<
c012edd9>] flush_workqueue+0x49/0x70
[<
c012ee0d>] flush_scheduled_work+0xd/0x10
[<
dcf55c0c>] nfs_release_automount_timer+0x2c/0x30 [nfs]
[<
dcf45d8e>] nfs_free_server+0x9e/0xd0 [nfs]
[<
dcf4e626>] nfs_kill_super+0x16/0x20 [nfs]
[<
c017b38d>] deactivate_super+0x7d/0xa0
[<
c018f94b>] mntput_no_expire+0x4b/0x80
[<
c018fd94>] expire_mount_list+0xe4/0x140
[<
c0191219>] mark_mounts_for_expiry+0x99/0xb0
[<
dcf55d1d>] nfs_expire_automounts+0xd/0x40 [nfs]
[<
c012e61b>] run_workqueue+0x12b/0x1e0
[<
c012f05b>] worker_thread+0x9b/0x100
[<
c0131c72>] kthread+0x42/0x70
[<
c0104c0f>] kernel_thread_helper+0x7/0x18
=======================
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Mon, 6 Aug 2007 16:21:13 +0000 (12:21 -0400)]
SUNRPC: Don't call gss_delete_sec_context() from an rcu context
Doing so may not be safe...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Mon, 6 Aug 2007 16:18:34 +0000 (12:18 -0400)]
NFSv4: Don't call put_rpccred() from an rcu callback
Doing so would require us to introduce bh-safe locks into put_rpccred().
This patch fixes the lockdep complaint reported by Marc Dietrich:
inconsistent {softirq-on-W} -> {in-softirq-W} usage.
swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
(rpc_credcache_lock){-+..}, at: [<
c01dc487>]
_atomic_dec_and_lock+0x17/0x60
{softirq-on-W} state was registered at:
[<
c013e870>] __lock_acquire+0x650/0x1030
[<
c013f2b1>] lock_acquire+0x61/0x80
[<
c02db9ac>] _spin_lock+0x2c/0x40
[<
c01dc487>] _atomic_dec_and_lock+0x17/0x60
[<
dced55fd>] put_rpccred+0x5d/0x100 [sunrpc]
[<
dced56c1>] rpcauth_unbindcred+0x21/0x60 [sunrpc]
[<
dced3fd4>] a0 [sunrpc]
[<
dcecefe0>] rpc_call_sync+0x30/0x40 [sunrpc]
[<
dcedc73b>] rpcb_register+0xdb/0x180 [sunrpc]
[<
dced65b3>] svc_register+0x93/0x160 [sunrpc]
[<
dced6ebe>] __svc_create+0x1ee/0x220 [sunrpc]
[<
dced7053>] svc_create+0x13/0x20 [sunrpc]
[<
dcf6d722>] nfs_callback_up+0x82/0x120 [nfs]
[<
dcf48f36>] nfs_get_client+0x176/0x390 [nfs]
[<
dcf49181>] nfs4_set_client+0x31/0x190 [nfs]
[<
dcf49983>] nfs4_create_server+0x63/0x3b0 [nfs]
[<
dcf52426>] nfs4_get_sb+0x346/0x5b0 [nfs]
[<
c017b444>] vfs_kern_mount+0x94/0x110
[<
c0190a62>] do_mount+0x1f2/0x7d0
[<
c01910a6>] sys_mount+0x66/0xa0
[<
c0104046>] syscall_call+0x7/0xb
[<
ffffffff>] 0xffffffff
irq event stamp:
5277830
hardirqs last enabled at (
5277830): [<
c017530a>] kmem_cache_free+0x8a/0xc0
hardirqs last disabled at (
5277829): [<
c01752d2>] kmem_cache_free+0x52/0xc0
softirqs last enabled at (
5277798): [<
c0124173>] __do_softirq+0xa3/0xc0
softirqs last disabled at (
5277817): [<
c01241d7>] do_softirq+0x47/0x50
other info that might help us debug this:
no locks held by swapper/0.
stack backtrace:
[<
c0104fda>] show_trace_log_lvl+0x1a/0x30
[<
c0105c02>] show_trace+0x12/0x20
[<
c0105d15>] dump_stack+0x15/0x20
[<
c013ccc3>] print_usage_bug+0x153/0x160
[<
c013d8b9>] mark_lock+0x449/0x620
[<
c013e824>] __lock_acquire+0x604/0x1030
[<
c013f2b1>] lock_acquire+0x61/0x80
[<
c02db9ac>] _spin_lock+0x2c/0x40
[<
c01dc487>] _atomic_dec_and_lock+0x17/0x60
[<
dced55fd>] put_rpccred+0x5d/0x100 [sunrpc]
[<
dcf6bf83>] nfs_free_delegation_callback+0x13/0x20 [nfs]
[<
c012f9ea>] __rcu_process_callbacks+0x6a/0x1c0
[<
c012fb52>] rcu_process_callbacks+0x12/0x30
[<
c0124218>] tasklet_action+0x38/0x80
[<
c0124125>] __do_softirq+0x55/0xc0
[<
c01241d7>] do_softirq+0x47/0x50
[<
c0124605>] irq_exit+0x35/0x40
[<
c0112463>] smp_apic_timer_interrupt+0x43/0x80
[<
c0104a77>] apic_timer_interrupt+0x33/0x38
[<
c02690df>] cpuidle_idle_call+0x6f/0x90
[<
c01023c3>] cpu_idle+0x43/0x70
[<
c02d8c27>] rest_init+0x47/0x50
[<
c03bcb6a>] start_kernel+0x22a/0x2b0
[<
00000000>] 0x0
=======================
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Thu, 26 Jul 2007 21:47:34 +0000 (17:47 -0400)]
NFS: Fix NFSv4 open stateid regressions
Do not allow cached open for O_RDONLY or O_WRONLY unless the file has been
previously opened in these modes.
Also Fix the calculation of the mode in nfs4_close_prepare. We should only
issue an OPEN_DOWNGRADE if we're sure that we will still be holding the
correct open modes. This may not be the case if we've been doing delegated
opens.
Finally, there is no need to adjust the open mode bit flags in
nfs4_close_done(): that has already been done in nfs4_close_prepare().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Fri, 27 Jul 2007 14:23:05 +0000 (10:23 -0400)]
NFSv4: Fix a locking regression in nfs4_set_mode_locked()
We don't really need to clear &state->inode_states inside
nfs4_set_mode_locked, and doing so without holding the inode->i_lock would
in any case be a bug...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Thu, 26 Jul 2007 16:06:17 +0000 (12:06 -0400)]
NFS: Fix put_nfs_open_context
We need to grab the inode->i_lock atomically with the last reference put in
order to remove the open context that is being freed from the
nfsi->open_files list.
Fix by converting the kref to a standard atomic counter and then using
atomic_dec_and_lock()...
Thanks to Arnd Bergmann for pointing out the problem.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust [Thu, 19 Jul 2007 20:32:20 +0000 (16:32 -0400)]
SUNRPC: Fix a race in rpciod_down()
The commit
4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b lead to the unpleasant
possibility of an asynchronous rpc_task being required to call
rpciod_down() when it is complete. This again means that the rpciod
workqueue may get to call destroy_workqueue on itself -> hang...
Change rpciod_up/rpciod_down to just get/put the module, and then
create/destroy the workqueues on module load/unload.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Linus Torvalds [Tue, 7 Aug 2007 01:31:43 +0000 (18:31 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] rpc: update defconfig
[ARM] pata_icside: fix the FIXMEs
[ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c
[ARM] 4541/1: iop: defconfig updates
[ARM] 4531/1: remove is_in_rom() protptype
Linus Torvalds [Tue, 7 Aug 2007 01:25:06 +0000 (18:25 -0700)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
[CRYPTO] api: fix writting into unallocated memory in setkey_aligned
Al Viro [Mon, 6 Aug 2007 03:26:59 +0000 (04:26 +0100)]
take sched_debug.c out of nasal demon territory
C99 6.10.3[11]: preprocessing directive within the argument list of
macro invocation => undefined behaviour. Don't do that...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Rusty Russell [Mon, 6 Aug 2007 00:48:18 +0000 (10:48 +1000)]
Enable lguest drivers in Kconfig
Lguest drivers need to default to "Y" otherwise they're never selected
for new builds. (We don't bother prompting, because they're less than
4k combined, and implied by selecting lguest support).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Avi Kivity [Sun, 5 Aug 2007 07:16:11 +0000 (10:16 +0300)]
KVM: x86 emulator: fix debug reg mov instructions
More fallout from the writeback fixes: debug register transfer
instructions do their own writeback and thus need to disable the general
writeback mechanism.
This fixes oopses and some guest failures on AMD machines (the Intel
variant decodes the instruction in hardware and thus does not need
emulation).
Cc: Alistair John Strachan <alistair@devzero.co.uk>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 7 Aug 2007 00:52:56 +0000 (17:52 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[NETFILTER]: Add xt_statistic.h to the header list for usermode programs
[BNX2]: Fix suspend/resume problem.
[TG3]: Fix suspend/resume problem.
Linus Torvalds [Tue, 7 Aug 2007 00:52:42 +0000 (17:52 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC32]: Fix build.
Linus Torvalds [Tue, 7 Aug 2007 00:48:34 +0000 (17:48 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (32 commits)
[SCSI] aacraid: prevent panic on adapter resource failure
[SCSI] aha152x: use data accessors and !use_sg cleanup
[SCSI] aha152x: Fix check_condition code-path
[SCSI] aha152x: Clean Reset path
[SCSI] aha152x: preliminary fixes and some comments
[SCSI] aha152x: use bounce buffer
[SCSI] aha152x: fix debug mode symbol conflict
[SCSI] sd: disentangle barriers in SCSI
[SCSI] lpfc : scsi command accessor fix for 8.2.2
[SCSI] qlogicpti: Some cosmetic changes
[SCSI] lpfc 8.2.2 : Change version number to 8.2.2
[SCSI] lpfc 8.2.2 : Style cleanups
[SCSI] lpfc 8.2.2 : Miscellaneous Bug Fixes
[SCSI] lpfc 8.2.2 : Miscellaneous management and logging mods
[SCSI] lpfc 8.2.2 : Rework the lpfc_printf_log() macro
[SCSI] lpfc 8.2.2 : Attribute and Parameter splits for vport and physical port
[SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list
[SCSI] lpfc 8.2.2 : Error messages and debugfs updates
[SCSI] initialize shost_data to zero
[SCSI] mptsas: add SMP passthrough support via bsg
...
Dave Airlie [Mon, 6 Aug 2007 23:09:51 +0000 (09:09 +1000)]
drm/i915: Fix i965 secured batchbuffer usage
This 965G and above chipsets moved the batch buffer non-secure bits to
another place. This means that previous drm's allowed in-secure batchbuffers
to be submitted to the hardware from non-privileged users who are logged
into X and and have access to direct rendering.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Russell King [Mon, 6 Aug 2007 15:48:49 +0000 (16:48 +0100)]
[ARM] rpc: update defconfig
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 6 Aug 2007 15:10:54 +0000 (16:10 +0100)]
[ARM] pata_icside: fix the FIXMEs
Alan Cox suggested that the solution to the FIXMEs in pata_icside is
to use a private postreset method to detect the lack of devices on a
port, and in such a case, disable the interrupt for the port.
This patch implements such a method, and removes the hard coded
disable of port 0. Tested as working.
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Sebastian Siewior [Fri, 3 Aug 2007 12:33:47 +0000 (20:33 +0800)]
[CRYPTO] api: fix writting into unallocated memory in setkey_aligned
setkey_unaligned() commited in
ca7c39385ce1a7b44894a4b225a4608624e90730
overwrites unallocated memory in the following memset() because
I used the wrong buffer length.
Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Chuck Ebbert [Sun, 5 Aug 2007 04:18:16 +0000 (21:18 -0700)]
[NETFILTER]: Add xt_statistic.h to the header list for usermode programs
Add xt_statistic.h to the list of headers to install.
Apparently needed to build newer versions of iptables.
Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mark Fortescue [Sun, 5 Aug 2007 04:17:18 +0000 (21:17 -0700)]
[SPARC32]: Fix build.
Correct incorrect removal of asm-generic/fcntl.h from asm-sparc/fcntl.h by
commit
6ba60d2195cd65d72eaf7ce3903a707c5bf20c7b.
Signed-off-by: Mark Fortescue <mark@mtfhpc.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jan Altenberg [Fri, 3 Aug 2007 11:14:34 +0000 (12:14 +0100)]
[ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c
- Include atmel_lcdc.h in at91sam926{1,3}_devices.c
Signed-off-by: Jan Altenberg <jan.altenberg@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dan Williams [Thu, 2 Aug 2007 16:08:51 +0000 (17:08 +0100)]
[ARM] 4541/1: iop: defconfig updates
With the availability of the iop-adma driver iop platforms can now use
their offload engines for md-raid5 (copy+xor) and net-dma (tcp receive
copy) offload.
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Greg Ungerer [Mon, 30 Jul 2007 01:07:39 +0000 (02:07 +0100)]
[ARM] 4531/1: remove is_in_rom() protptype
Remove unused is_in_rom() function prototype.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Salyzyn, Mark [Thu, 2 Aug 2007 19:38:59 +0000 (15:38 -0400)]
[SCSI] aacraid: prevent panic on adapter resource failure
If the driver fails to allocate the contiguous (DMAable) memory for
system reasons, we fail to load the instance, but then we try to free
the <nul> allocation in the cleanup code and we get a panic in
pci_free_consistent(). This is reported against an older kernel, hope
this is relevant for latest/greatest.
Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:29:02 +0000 (22:29 +0300)]
[SCSI] aha152x: use data accessors and !use_sg cleanup
And finally this is the regular !use_sg cleanup
and use of data accessors.
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:27:06 +0000 (22:27 +0300)]
[SCSI] aha152x: Fix check_condition code-path
check_condition code-path was similar but more
complicated to Reset. It went like this:
1. extra space was allocated at aha152x_scdata for mirroring
scsi_cmnd members.
2. At aha152x_internal_queue() every not check_condition
(REQUEST_SENSE) command was copied to above members in
case of error.
3. At busfree_run() in the DONE_CS phase if a Status of
SAM_STAT_CHECK_CONDITION was detected. The command was
re-queued Internally using aha152x_internal_queue(,,check_condition,)
The old command members are over written with the
REQUEST_SENSE info.
4. At busfree_run() in the DONE_CS phase again. If it is a
check_condition command, info was restored from mirror
made at first call to aha152x_internal_queue() (see 2)
and the command is completed.
What I did is:
1. Allocate less space in aha152x_scdata only for the 16-byte
original command. (which is actually not needed by scsi-ml
anymore at this stage. But this is to much knowledge of scsi-ml)
2. If Status == SAM_STAT_CHECK_CONDITION, then like before
re-queue a REQUEST_SENSE command. But only now save original
command members. (Less of them)
3. In aha152x_internal_queue(), just like for Reset, use the
check_condition hint to set differently the working members.
execute the command.
4. At busfree_run() in the DONE_CS phase again. restore needed
members.
While at it. This patch fixes a BUG. Old code when sending
a REQUEST_SENSE for a failed command. Would than return with
cmd->resid == 0 which was the status of the REQUEST_SENSE.
The failing command resid was lost. And when would resid
be interesting if not on a failing command?
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:24:09 +0000 (22:24 +0300)]
[SCSI] aha152x: Clean Reset path
What Reset code was doing: Save command's important/dangerous
Info on stack. NULL those members from scsi_cmnd.
Issue a Reset. wait for it to finish than restore members
and return.
What I do is save or NULL nothing. But use the "resetting"
hint in aha152x_internal_queue() to NULL out working members
and leave struct scsi_cmnd alone.
The indent here looks funny but it will change/drop in last
patch and it is clear this way what changed.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:22:04 +0000 (22:22 +0300)]
[SCSI] aha152x: preliminary fixes and some comments
hunk by hunk:
- CHECK_CONDITION is what happens to cmnd->status >> 1
or after status_byte() macro. But here it is used
directly on status which means 0x1 which is an undefined
bit in the standard. And is a status that will never
return from a target.
- in busfree_run at the DONE_SC phase we have 3 distinct
operation:
1-if(DONE_SC->SCp.phase & check_condition)
The REQUEST_SENSE command return.
- Restore original command
- Than continue to operation 3.
2-if(DONE_SC->SCp.Status==SAM_STAT_CHECK_CONDITION)
A regular command returned with a status.
- Internally re-Q a REQUEST_SENSE.
- Do not do operation 3.
3-
- Complete the command and return it to scsi-ml
So the 0x2 in both these operations (1,2) means the scsi
check-condition status, hence SAM_STAT_CHECK_CONDITION
- Here the code asks about !(DONE_SC->SCp.Status & not_issued)
but "not_issued" is an enum belonging to the "phase" member
and not to the Status returned from target. The reason this
works is because not_issued==1 and Also CHECK_CONDITION==1
(remember from hunk 1). So actually the code was asking
!(DONE_SC->SCp.Status & CHECK_CONDITION). Which means
"Has the status been read from target yet?"
Staus is read at status_run(). "not_issued" is
cleared in seldo_run() which is usually earlier than
status_run().
So this patch does nothing as far as assembly is concerned
but it does let the reader understand what is going on.
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:18:20 +0000 (22:18 +0300)]
[SCSI] aha152x: use bounce buffer
Cause highmem buffers to be bounced to low memory until this
driver supports highmem addresses. Otherwise it just oopses
on NULL buffer addresses.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Boaz Harrosh [Sun, 29 Jul 2007 19:16:14 +0000 (22:16 +0300)]
[SCSI] aha152x: fix debug mode symbol conflict
The symbol <debug_locks> conflicts with the rather global one in
include/linux/locks.h.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Fri, 3 Aug 2007 21:41:11 +0000 (16:41 -0500)]
[SCSI] sd: disentangle barriers in SCSI
Our current implementation has a generic set of barrier functions that
go through the SCSI driver model. Realistically, this is unnecessary,
because the only device that can use barriers (sd) can set the flush
functions up at probe or revalidate time. This patch pulls the barrier
functions out of the mid layer and scsi driver model and relocates them
directly in sd.
Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Michael Chan [Sat, 4 Aug 2007 03:57:25 +0000 (20:57 -0700)]
[BNX2]: Fix suspend/resume problem.
The device would not resume properly if it was shutdown before the system
was suspended. In such scenario where the netif_running state is 0,
bnx2_suspend() would not save the PCI state and so the memory enable bit
and bus master enable bit would be lost.
We fix this by always saving and restoring the PCI state in
bnx2_suspend() and bnx2_resume() regardless of netif_running() state.
Update version to 1.6.4.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Sat, 4 Aug 2007 03:56:54 +0000 (20:56 -0700)]
[TG3]: Fix suspend/resume problem.
Joachim Deguara <joachim.deguara@amd.com> reported that tg3 devices
would not resume properly if the device was shutdown before the system
was suspended. In such scenario where the netif_running state is 0,
tg3_suspend() would not save the PCI state and so the memory enable bit
and bus master enable bit would be lost.
We fix this by always saving and restoring the PCI state in
tg3_suspend() and tg3_resume() regardless of netif_running() state.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Sat, 4 Aug 2007 02:49:55 +0000 (19:49 -0700)]
Linux 2.6.23-rc2
Linus Torvalds [Fri, 3 Aug 2007 22:16:33 +0000 (15:16 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Fixes for the SLB shadow buffer code
[POWERPC] Fix a compile warning in powermac/feature.c
[POWERPC] Fix a compile warning in pci_32.c
[POWERPC] Fix parse_drconf_memory() for 64-bit start addresses
[POWERPC] Fix num_cpus calculation in smp_call_function_map()
[POWERPC] ps3: Fix section mismatch in ps3/setup.c
[POWERPC] spufs: Fix affinity after introduction of node_allowed() calls
[POWERPC] Fix special PTE code for secondary hash bucket
[POWERPC] Expand RPN field to 34 bits when using 64k pages
Al Viro [Thu, 2 Aug 2007 18:21:30 +0000 (19:21 +0100)]
fix s2io regression
* wrong argument passed to pci_unmap_single() on failure
exit paths
* leak in the same area
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Fri, 3 Aug 2007 22:08:55 +0000 (15:08 -0700)]
Merge git://git.infradead.org/~dwmw2/mtd-2.6.23
* git://git.infradead.org/~dwmw2/mtd-2.6.23:
[MTD] Makefile fix for mtdsuper
Linus Torvalds [Fri, 3 Aug 2007 22:08:30 +0000 (15:08 -0700)]
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6:
Don't compile the PMU power driver on 64-bit PowerPC
Linus Torvalds [Fri, 3 Aug 2007 22:07:10 +0000 (15:07 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6.23
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
sh: fix defconfigs for sh7751r boards
sh: fix cf support on r2d boards
sh: update r2d defconfig
sh: update snapgear defconfig.
sh: Fix SH-X3 FPU exception handling.
sh: Fix pgd mismatch from cached TTB in unhandled fault.
sh: Don't include fault-nommu on SH-2/SH-2A.
sh: Fix irqflags tracing for SH-3/4 nommu.
sh: Fix lockdep debugging oops on SH-3/4.
Oleg Nesterov [Fri, 3 Aug 2007 21:04:41 +0000 (01:04 +0400)]
Kill some obsolete sub-thread-ptrace stuff
There is a couple of subtle checks which were needed to handle ptracing from
the same thread group. This was deprecated a long ago, imho this code just
complicates the understanding.
And, the "->parent->signal->flags & SIGNAL_GROUP_EXIT" check in exit_notify()
is not right. SIGNAL_GROUP_EXIT can mean exec(), not exit_group(). This means
ptracer can lose a ptraced zombie on exec(). Minor problem, but still the bug.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Daniel Ritz [Fri, 3 Aug 2007 14:07:43 +0000 (16:07 +0200)]
serial: fix 8250 early console setup
the early setup function serial8250_console_early_setup() can be called
from non __init code (eg. hotpluggable serial ports like serial_cs) so
remove the __init from the call chain to avoid crashes.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Fri, 3 Aug 2007 21:58:08 +0000 (14:58 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC]: Fix O_CLOEXEC values.
[SPARC32]: Fix modular build of floppy driver.
[SOUND] CS4231 SBus: Two fixes.
[CG6]: fix memory size detection
[SPARC64]: Add missing dma_sync_single_range_for_*().
Linus Torvalds [Fri, 3 Aug 2007 21:57:41 +0000 (14:57 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[TCP]: DSACK signals data receival, be conservative
[TCP]: Also handle snd_una changes in tcp_cwnd_down
[TIPC]: Fix two minor sparse warnings.
[TIPC]: Make function tipc_nameseq_subscribe static.
[PF_KEY]: Fix ipsec not working in 2.6.23-rc1-git10
[TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg().
[IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc
[IPV4] raw.c: kmalloc + memset conversion to kzalloc
[NETFILTER] nf_conntrack_l3proto_ipv4_compat.c: kmalloc + memset conversion to kzalloc
[NETFILTER] nf_conntrack_expect.c: kmalloc + memset conversion to kzalloc
[NET]: Removal of duplicated include net/wanrouter/wanmain.c
SCTP: remove useless code in function sctp_init_cause
SCTP: drop SACK if ctsn is not less than the next tsn of assoc
SCTP: IPv4 mapped addr not returned in SCTPv6 accept()
SCTP: IPv4 mapped addr not returned in SCTPv6 accept()
sctp: fix shadow symbol in net/sctp/tsnmap.c
sctp: try to fix readlock
sctp: remove shadowed symbols
sctp: move global declaration to header file.
sctp: make locally used function static
Linus Torvalds [Fri, 3 Aug 2007 21:47:07 +0000 (14:47 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
firewire: fw-core: make two variables static
firewire: fw-ohci: dma_free_coherent needs IRQs enabled
firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters)
ieee1394: sbp2: more correct Kconfig dependencies
ieee1394: revert "sbp2: enforce 32bit DMA mapping"
David S. Miller [Fri, 3 Aug 2007 21:24:17 +0000 (14:24 -0700)]
[SPARC]: Fix O_CLOEXEC values.
The one choosen by asm-generic/fcntl.h is not appropriate
for this platform.
Noticed by Ulrich Drepper.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 2 Aug 2007 07:19:14 +0000 (00:19 -0700)]
[SPARC32]: Fix modular build of floppy driver.
Signed-off-by: David S. Miller <davem@davemloft.net>
Georg Chini [Thu, 2 Aug 2007 04:55:58 +0000 (21:55 -0700)]
[SOUND] CS4231 SBus: Two fixes.
Remove unnecessary sbus_dma_reset function and change sbus_dma_enable
to avoid occasional system crashes when stopping recording.
Signed-off-by: Georg Chini <georg.chini@triaton-webhosting.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Krzysztof Helt [Thu, 2 Aug 2007 04:39:32 +0000 (21:39 -0700)]
[CG6]: fix memory size detection
This patch fixes memory size detection on the CG6 card.
The 1MB TGX card has dblbuf property set to 0.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 1 Aug 2007 03:43:17 +0000 (20:43 -0700)]
[SPARC64]: Add missing dma_sync_single_range_for_*().
Reported by Andrew Morton.
Signed-off-by: David S. Miller <davem@davemloft.net>
James Smart [Sun, 5 Aug 2007 10:08:38 +0000 (06:08 -0400)]
[SCSI] lpfc : scsi command accessor fix for 8.2.2
It was pointed out by Boaz Harrosh <bharrosh@panasas.com> that our
8.2.2 lpfc patches revert a change to using SCSI command accessor
functions.
This patch, to be applied on top of the 8.2.2. patches, updates the
driver for the accessor functions.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Satyam Sharma [Fri, 3 Aug 2007 02:57:13 +0000 (08:27 +0530)]
[MTD] Makefile fix for mtdsuper
We want drivers/mtd/{mtdcore, mtdsuper, mtdpart}.c to be built and linked
into the same mtd.ko module. Fix the Makefile to ensure this, and remove
duplicate MODULE_ declarations in mtdpart.c, as mtdcore.c already has them.
Signed-off-by: Satyam Sharma <satyam@infradead.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Michael Neuling [Fri, 3 Aug 2007 01:55:39 +0000 (11:55 +1000)]
[POWERPC] Fixes for the SLB shadow buffer code
On a machine with hardware 64kB pages and a kernel configured for a
64kB base page size, we need to change the vmalloc segment from 64kB
pages to 4kB pages if some driver creates a non-cacheable mapping in
the vmalloc area. However, we never updated with SLB shadow buffer.
This fixes it. Thanks to paulus for finding this.
Also added some write barriers to ensure the shadow buffer contents
are always consistent.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Segher Boessenkool [Wed, 1 Aug 2007 15:41:14 +0000 (01:41 +1000)]
[POWERPC] Fix a compile warning in powermac/feature.c
...by using the pci_get API instead of the deprecated old stuff.
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Segher Boessenkool [Wed, 1 Aug 2007 15:41:13 +0000 (01:41 +1000)]
[POWERPC] Fix a compile warning in pci_32.c
__must_check, so do so.
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Michael Ellerman [Wed, 1 Aug 2007 01:34:38 +0000 (11:34 +1000)]
[POWERPC] Fix parse_drconf_memory() for 64-bit start addresses
Some new machines use the "ibm,dynamic-reconfiguration-memory" property
to provide memory layout information, rather than via memory nodes.
There is a bug in the code to parse this property for start addresses
over 4GB; we store the start address in an unsigned int, which means
we throw away the high bits and add apparently duplicate regions.
This results in a BUG() in free_bootmem_core(). This fixes it by
using an unsigned long instead.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Kevin Corry [Tue, 31 Jul 2007 20:19:46 +0000 (06:19 +1000)]
[POWERPC] Fix num_cpus calculation in smp_call_function_map()
In smp_call_function_map(), num_cpus is set to the number of online
CPUs minus one. However, if the CPU mask does not include all CPUs
(except the one we're running on), the routine will hang in the first
while() loop until the 8 second timeout occurs.
The num_cpus should be set to the number of CPUs specified in the mask
passed into the routine, after we've made any modifications to the
mask. With this change, we can also get rid of the call to
cpus_empty() and avoid adding another pass through the bitmask.
Signed-off-by: Kevin Corry <kevcorry@us.ibm.com>
Signed-off-by: Carl Love <carll@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Stephen Rothwell [Tue, 31 Jul 2007 07:22:00 +0000 (17:22 +1000)]
[POWERPC] ps3: Fix section mismatch in ps3/setup.c
WARNING: vmlinux.o(.text+0x605d4): Section mismatch: reference to
.init.text:.__alloc_bootmem (between '.prealloc' and '.ps3_power_save')
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Andre Detsch [Mon, 30 Jul 2007 23:48:11 +0000 (09:48 +1000)]
[POWERPC] spufs: Fix affinity after introduction of node_allowed() calls
This patch fixes affinity reference point placement, which was not being
done in some situations, after the introduction of node_allowed() calls.
The previously used parameter, 'ctx', is just the iterator of the
previous list_for_each_entry_reverse loop, and its value might be
invalid at the end of the loop. Also, the right context to seek
for information when defining the reference ctx location
_is_ the reference ctx.
Signed-off-by: Andre Detsch <adetsch@br.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Fri, 3 Aug 2007 09:16:11 +0000 (19:16 +1000)]
[POWERPC] Fix special PTE code for secondary hash bucket
The code for mapping special 4k pages on kernels using a 64kB base
page size was missing the code for doing the RPN (real page number)
manipulation when inserting the hardware PTE in the secondary hash
bucket. It needs the same code as has already been added to the
code that inserts the HPTE in the primary hash bucket. This adds it.
Spotted by Ben Herrenschmidt.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Fri, 3 Aug 2007 04:08:24 +0000 (14:08 +1000)]
[POWERPC] Expand RPN field to 34 bits when using 64k pages
The real page number field in our PTEs when configured for 64kB pages
is currently 32 bits, which turns out to be not quite enough for the
resources that the eHCA driver wants to map. This expands the RPN
field to include 2 adjacent, previously-unused bits.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Ilpo Järvinen [Fri, 3 Aug 2007 02:47:59 +0000 (19:47 -0700)]
[TCP]: DSACK signals data receival, be conservative
In case a DSACK is received, it's better to lower cwnd as it's
a sign of data receival.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ilpo Järvinen [Fri, 3 Aug 2007 02:46:58 +0000 (19:46 -0700)]
[TCP]: Also handle snd_una changes in tcp_cwnd_down
tcp_cwnd_down must check for it too as it should be conservative
in case of collapse stuff and also when receiver is trying to
lie (though that wouldn't be very successful/useful anyway).
Note:
- Separated also is_dupack and do_lost in fast_retransalert
* Much cleaner look-and-feel now
* This time it really fixes cumulative ACK with many new
SACK blocks recovery entry (I claimed this fixes with
last patch but it wasn't). TCP will now call
tcp_update_scoreboard regardless of is_dupack when
in recovery as long as there is enough fackets_out.
- Introduce FLAG_SND_UNA_ADVANCED
* Some prior_snd_una arguments are unnecessary after it
- Added helper FLAG_ANY_PROGRESS to avoid long FLAG...|FLAG...
constructs
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 3 Aug 2007 02:44:43 +0000 (19:44 -0700)]
Merge davem@/linux/kernel/git/vxy/lksctp-dev
Florian Westphal [Fri, 3 Aug 2007 02:28:06 +0000 (19:28 -0700)]
[TIPC]: Fix two minor sparse warnings.
fix two warnings generated by sparse:
link.c:2386 symbol 'msgcount' shadows an earlier one
node.c:244 symbol 'addr_string' shadows an earlier one
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Florian Westphal [Fri, 3 Aug 2007 02:26:23 +0000 (19:26 -0700)]
[TIPC]: Make function tipc_nameseq_subscribe static.
make needlessly global function tipc_nameseq_subscribe static.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Joy Latten [Fri, 3 Aug 2007 02:25:43 +0000 (19:25 -0700)]
[PF_KEY]: Fix ipsec not working in 2.6.23-rc1-git10
Although an ipsec SA was established, kernel couldn't seem to find it.
I think since we are now using "x->sel.family" instead of "family" in
the xfrm_selector_match() called in xfrm_state_find(), af_key needs to
set this field too, just as xfrm_user.
In af_key.c, x->sel.family only gets set when there's an
ext_hdrs[SADB_EXT_ADDRESS_PROXY-1] which I think is for tunnel.
I think pfkey needs to also set the x->sel.family field when it is 0.
Tested with below patch, and ipsec worked when using pfkey.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 3 Aug 2007 02:23:56 +0000 (19:23 -0700)]
[TCP]: Invoke tcp_sendmsg() directly, do not use inet_sendmsg().
As discovered by Evegniy Polyakov, if we try to sendmsg after
a connection reset, we can do incredibly stupid things.
The core issue is that inet_sendmsg() tries to autobind the
socket, but we should never do that for TCP. Instead we should
just go straight into TCP's sendmsg() code which will do all
of the necessary state and pending socket error checks.
TCP's sendpage already directly vectors to tcp_sendpage(), so this
merely brings sendmsg() in line with that.
Signed-off-by: David S. Miller <davem@davemloft.net>
Mariusz Kozlowski [Thu, 2 Aug 2007 04:54:27 +0000 (21:54 -0700)]
[IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mariusz Kozlowski [Thu, 2 Aug 2007 04:53:57 +0000 (21:53 -0700)]
[IPV4] raw.c: kmalloc + memset conversion to kzalloc
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mariusz Kozlowski [Thu, 2 Aug 2007 04:53:24 +0000 (21:53 -0700)]
[NETFILTER] nf_conntrack_l3proto_ipv4_compat.c: kmalloc + memset conversion to kzalloc
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mariusz Kozlowski [Thu, 2 Aug 2007 04:52:34 +0000 (21:52 -0700)]
[NETFILTER] nf_conntrack_expect.c: kmalloc + memset conversion to kzalloc
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michal Piotrowski [Thu, 2 Aug 2007 04:50:44 +0000 (21:50 -0700)]
[NET]: Removal of duplicated include net/wanrouter/wanmain.c
Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Magnus Damm [Fri, 3 Aug 2007 01:17:47 +0000 (10:17 +0900)]
sh: fix defconfigs for sh7751r boards
This patch fixes up the defconfig for various sh7751r based boards
by updating them to the single cpu subtype CONFIG_CPU_SUBTYPE_SH7751R.
The following sh4 boards are updated: hs7751rvoip, landisk, lboxre2,
systemh, titan.
The current defconfigs with two subtypes defined trigger a configuration
bug which result in kernel configurations with missing board support
code. We end up with kernels without board code and with generic machvec
only.
So we need this patch to make sure the board code gets compiled in.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Fri, 3 Aug 2007 01:16:29 +0000 (10:16 +0900)]
sh: fix cf support on r2d boards
This patch makes sure cf support is enabled on R2D-PLUS but disabled
on R2D-1. Without this fix R2D-1 boards hang on bootup.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Magnus Damm [Fri, 3 Aug 2007 01:15:53 +0000 (10:15 +0900)]
sh: update r2d defconfig
- Disable CONFIG_SH_DMA to avoid boot up freeze on R2D-1
- Disable CONFIG_SH_STANDARD_BIOS to support R2D-PLUS boot loaders
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
David McCullough [Fri, 3 Aug 2007 01:14:09 +0000 (10:14 +0900)]
sh: update snapgear defconfig.
Updated the snapgear defconfig to get a booting kernel.
Signed-off-by: David McCullough <david_mccullough@au.securecomputing.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Linus Torvalds [Thu, 2 Aug 2007 21:08:53 +0000 (14:08 -0700)]
Merge git://git.infradead.org/~dwmw2/mtd-2.6.23
* git://git.infradead.org/~dwmw2/mtd-2.6.23:
[MTD] [NAND] nand_base.c: fix type of eccpos pointer
[MTD] [NAND] at91_nand rdy_pin fix
[MTD] [NAND] fix race in nand_base.c
[MTD] [NAND] Fix refactoring of
EDB7312 hwcontrol function.
[MTD] Fix potential leak in rfd_ftl_add_mtd
[JFFS2] Print correct node offset when complaining about broken data CRC
[JFFS2] Fix suspend failure with JFFS2 GC thread.
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
[JFFS2] Prevent oops after 'node added in wrong place' debug check
Linus Torvalds [Thu, 2 Aug 2007 21:07:57 +0000 (14:07 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/hpa/linux-2.6-x86setup
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
[x86 setup] Document grub < 0.93 as broken
[x86 setup] EDD: add missing =m constraint
[x86 setup] video setup: Fix VBE DDC reading
Ben Dooks [Mon, 28 May 2007 18:17:54 +0000 (19:17 +0100)]
[MTD] [NAND] nand_base.c: fix type of eccpos pointer
The nand_base.c driver implicitly casts the uint32_t
eccpos array to 'int *', which is not only not guaranteed
to be the same sign as the source, but is not guaranteed
to be the same size.
Fix by changing nand_base.c to use uint32_t
referencing the eccpos fields.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Ivan Kuten [Thu, 24 May 2007 11:35:58 +0000 (14:35 +0300)]
[MTD] [NAND] at91_nand rdy_pin fix
The patch below fixes nand driver for AT91 boards which do not have NAND
R/B signal connected to gpio (rdy_pin is not connected).
Signed-off-by: Ivan Kuten <ivan.kuten@promwad.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Artem Bityutskiy [Mon, 23 Jul 2007 13:06:50 +0000 (16:06 +0300)]
[MTD] [NAND] fix race in nand_base.c
When we mark block bad we have to get chip because this involves
writing to the page's OOB. We hit this bug in UBI - we observed
random obscure crashes when it marks block bad from the background
thread and there is some parallel task which utilizes flash.
This patch also adds a TODO note about BBT table protection which
it seems does not exist.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Roland Stigge [Wed, 18 Jul 2007 12:56:11 +0000 (14:56 +0200)]
[MTD] [NAND] Fix refactoring of
EDB7312 hwcontrol function.
The patch ensures that the current code (kernel 2.6.22) uses the bits
like the code prior to the refactoring. The variable "bits" is employed
in a useful way now.
Signed-off-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Florin Malita [Thu, 19 Jul 2007 20:45:18 +0000 (16:45 -0400)]
[MTD] Fix potential leak in rfd_ftl_add_mtd
This fixes a leak in the !mtd->erasesize error path (Coverity 1765).
Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
David Woodhouse [Thu, 5 Jul 2007 05:57:26 +0000 (01:57 -0400)]
[JFFS2] Print correct node offset when complaining about broken data CRC
Debugging the hardware problems in OLPC trac #1905 would be a whole lot
easier if the correct node offsets were printed for the offending nodes.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
David Woodhouse [Thu, 28 Jun 2007 18:49:36 +0000 (19:49 +0100)]
[JFFS2] Fix suspend failure with JFFS2 GC thread.
The try_to_freeze() call was in the wrong place; we need it in the
signal-pending loop now that a pending freeze also makes
signal_pending() return true.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
David Woodhouse [Fri, 29 Jun 2007 12:39:57 +0000 (13:39 +0100)]
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
Otherwise they'll never actually get garbage-collected.
Noted by Jonathan Larmour.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Joakim Tjernlund [Sun, 24 Jun 2007 17:22:29 +0000 (19:22 +0200)]
[JFFS2] Prevent oops after 'node added in wrong place' debug check
jffs2_add_physical_node_ref() should never really return error -- it's
an internal debugging check which triggered. We really need to work out
why and stop it happening. But in the meantime, let's make the failure
mode a little less nasty.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Stefan Richter [Thu, 2 Aug 2007 18:34:17 +0000 (20:34 +0200)]
firewire: fw-core: make two variables static
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Wed, 25 Jul 2007 17:18:08 +0000 (19:18 +0200)]
firewire: fw-ohci: dma_free_coherent needs IRQs enabled
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Sat, 21 Jul 2007 20:43:05 +0000 (22:43 +0200)]
firewire: fw-sbp2: set correct maximum payload (fixes CardBus adapters)
As far as I know, all CardBus FireWire 400 adapters have a maximum
payload of 1024 bytes which is less than the speed-dependent limit of
2048 bytes. Fw-sbp2 has to take the host adapter's limit into account.
This apparently fixes Juju's incompatibility with my CardBus cards, a
NEC based card and a VIA based card.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Acked-by: Kristian Høgsberg <krh@redhat.com>
Stefan Richter [Sat, 21 Jul 2007 15:51:22 +0000 (17:51 +0200)]
ieee1394: sbp2: more correct Kconfig dependencies
Make the option SBP2_PHYS_DMA available on all architectures where it
compiles. This includes x86-64 where I runtime-tested it successfully.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Wed, 1 Aug 2007 18:30:36 +0000 (20:30 +0200)]
ieee1394: revert "sbp2: enforce 32bit DMA mapping"
Revert commit
0555659d63c285ceb7ead3115532e1b71b0f27a7 from 2.6.22-rc1.
The dma_set_mask call somehow failed on a PowerMac G5, PPC64:
http://lkml.org/lkml/2007/8/1/344
Should there ever occur a DMA mapping beyond the physical DMA range, a
proper SBP-2 firmware will report transport errors. So let's leave it
at that.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Tested-by: Olaf Hering <olh@suse.de>
Linus Torvalds [Thu, 2 Aug 2007 18:15:27 +0000 (11:15 -0700)]
Merge git://git./linux/kernel/git/mingo/linux-2.6-sched
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
[PATCH] sched: reduce task_struct size
[PATCH] sched: reduce debug code
[PATCH] sched: use schedstat_set() API
[PATCH] sched: add schedstat_set() API
[PATCH] sched: move load-calculation functions
[PATCH] sched: ->task_new cleanup
[PATCH] sched: uninline inc/dec_nr_running()
[PATCH] sched: uninline calc_delta_mine()
[PATCH] sched: calc_delta_mine(): use fixed limit
[PATCH] sched: tidy up left over smpnice code
[PATCH] sched: remove cache_hot_time
Linus Torvalds [Thu, 2 Aug 2007 18:14:54 +0000 (11:14 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/selinux-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
Net/Security: fix memory leaks from security_secid_to_secctx()
SELinux: remove redundant pointer checks before calling kfree()
SELinux: restore proper NetLabel caching behavior
H. Peter Anvin [Thu, 2 Aug 2007 17:50:43 +0000 (13:50 -0400)]
[x86 setup] Document grub < 0.93 as broken
Grub older than 0.93 are broken when the kernel setup is bigger than
8K. This was fixed in 2002, and 0.93 was the first grub version which
fixed this bug.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 2 Aug 2007 17:45:49 +0000 (13:45 -0400)]
[x86 setup] EDD: add missing =m constraint
Add a missing =m constraint to the EDD-probing code, that could have
caused improper dead-code elimination.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Paul Moore [Wed, 1 Aug 2007 15:12:59 +0000 (11:12 -0400)]
Net/Security: fix memory leaks from security_secid_to_secctx()
The security_secid_to_secctx() function returns memory that must be freed
by a call to security_release_secctx() which was not always happening. This
patch fixes two of these problems (all that I could find in the kernel source
at present).
Signed-off-by: Paul Moore <paul.moore@hp.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
Paul Moore [Wed, 1 Aug 2007 15:12:58 +0000 (11:12 -0400)]
SELinux: remove redundant pointer checks before calling kfree()
We don't need to check for NULL pointers before calling kfree().
Signed-off-by: Paul Moore <paul.moore@hp.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>