13 Oct, 2009
1 commit
-
…file into core/urgent
10 Oct, 2009
2 commits
-
A race shouldn't happen since all workqueues or handlers are canceled
or flushed before the event buffer is freed. A warning is triggered
now if the buffer is freed too early.Also, this patch adds some comments about event buffer protection,
reworks some code and adds code to clear buffer_pos during alloc and
free of the event buffer.Cc: David Rientjes
Cc: Stephane Eranian
Signed-off-by: Robert Richter -
Looking at the 2.6.31-rc9 code, it appears there is a race condition
in the event_buffer cleanup code path (shutdown). This could lead to
kernel panic as some CPUs may be operating on the event buffer AFTER
it has been freed. The attached patch solves the problem and makes
sure CPUs check if the buffer is not NULL before they access it as
some may have been spinning on the mutex while the buffer was being
freed.The race may happen if the buffer is freed during pending reads. But
it is not clear why there are races in add_event_entry() since all
workqueues or handlers are canceled or flushed before the event buffer
is freed.Signed-off-by: David Rientjes
Signed-off-by: Stephane Eranian
Signed-off-by: Robert Richter
09 Oct, 2009
7 commits
-
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
pata_atp867x: add Power Management support
pata_atp867x: PIO support fixes
pata_atp867x: clarifications in timings calculations and cable detection
pata_atp867x: fix it to not claim MWDMA support
libata: fix incorrect link online check during probe
ahci: filter FPDMA non-zero offset enable for Aspire 3810T
libata: make gtf_filter per-dev
libata: implement more acpi filtering options
libata: cosmetic updates
ahci: display all AHCI 1.3 HBA capability flags (v2)
pata_ali: trivial fix of a very frequent spelling mistake
ahci: disable 64bit DMA by default on SB600s -
…git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, pci: Correct spelling in a comment
x86: Simplify bound checks in the MTRR code
x86: EDAC: carve out AMD MCE decoding logic
initcalls: Add early_initcall() for modules
x86: EDAC: MCE: Fix MCE decoding callback logic -
* 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (24 commits)
drm/radeon/kms: fix vline register for second head.
drm/r600: avoid assigning vb twice in blit code
drm/radeon: use list_for_each_entry instead of list_for_each
drm/radeon/kms: Fix AGP support for R600/RV770 family (v2)
drm/radeon/kms: Fallback to non AGP when acceleration fails to initialize (v2)
drm/radeon/kms: Fix RS600/RV515/R520/RS690 IRQ
drm/radeon: Fix setting of bits
drm/ttm: fix refcounting in ttm global code.
drm/fb: add more correct 8/16/24/32 bpp fb support.
drm/fb: add setcmap and fix 8-bit support.
drm/radeon/kms: respect single crtc cards, only create one crtc. (v2)
drm: Delete the DRM_DEBUG_KMS in drm_mode_cursor_ioctl
drm/radeon/kms: add support for "Surround View"
drm/radeon/kms: Fix irq handling on AVIVO hw
drm/radeon/kms: R600/RV770 remove dead code and print message for wrong BIOS
drm/radeon/kms: Fix R600/RV770 disable acceleration path
drm/radeon/kms: Fix R600/RV770 startup path & reset
drm/radeon/kms: Fix R600 write back buffer
drm/radeon/kms: Remove old init path as no hw use it anymore
drm/radeon/kms: Convert RS600 to new init path
... -
…/git/tmlind/linux-omap-2.6
* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
omapfb: Blizzard: constify register address tables
omapfb: Blizzard: fix pointer to be const
omapfb: Condition mutex acquisition
omap: iovmm: Add missing mutex_unlock
omap: iovmm: Fix incorrect spelling
omap: SRAM: flush the right address after memcpy in omap_sram_push
omap: Lock DPLL5 at boot
omap: Fix incorrect 730 vs 850 detection
OMAP3: PM: introduce a new powerdomain walk helper
OMAP3: PM: Enable GPIO module-level wakeups
OMAP3: PM: USBHOST: clear wakeup events on both hosts
OMAP3: PM: PRCM interrupt: only handle selected PRCM interrupts
OMAP3: PM: PRCM interrupt: check MPUGRPSEL register
OMAP3: PM: Prevent hang in prcm_interrupt_handler -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
amd64_edac: beef up DRAM error injection
amd64_edac: fix DRAM base and limit extraction
amd64_edac: fix chip select handling
amd64_edac: simple fix to allow reporting of CECC errors
amd64_edac: fix K8 intlv_sel check
amd64_edac: fix interleave enable tests
amd64_edac: fix DRAM base and limit address extraction
amd64_edac: fix driver instance lookup table allocation -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)
ethoc: limit the number of buffers to 128
ethoc: use system memory as buffer
ethoc: align received packet to make IP header at word boundary
ethoc: fix buffer address mapping
ethoc: fix typo to compute number of tx descriptors
au1000_eth: Duplicate test of RX_OVERLEN bit in update_rx_stats()
netxen: Fix Unlikely(x) > y
pasemi_mac: ethtool get settings fix
add maintainer for network drop monitor kernel service
tg3: Fix phylib locking strategy
rndis_host: support ETHTOOL_GPERMADDR
ipv4: arp_notify address list bug
gigaset: add kerneldoc comments
gigaset: correct debugging output selection
gigaset: improve error recovery
gigaset: fix device ERROR response handling
gigaset: announce if built with debugging
gigaset: handle isoc frame errors more gracefully
gigaset: linearize skb
gigaset: fix reject/hangup handling
... -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
Revert "Revert "ide: try to use PIO Mode 0 during probe if possible""
sis5513: fix PIO setup for ATAPI devices
08 Oct, 2009
12 commits
-
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
agp: parisc-agp.c - use correct page_mask function
parisc: Fix linker script breakage.
parisc: convert to asm-generic/hardirq.h
parisc: Make THREAD_SIZE available to assembly files and linker scripts.
parisc: correct use of SHF_ALLOC
parisc: rename parisc's vmalloc_start to parisc_vmalloc_start
parisc: add me to Maintainers
parisc: includecheck fix: signal.c
parisc: HAVE_ARCH_TRACEHOOK
parisc: add skeleton syscall.h
parisc: stop using task->ptrace for {single,block}step flags
parisc: split syscall_trace into two halves
parisc: add missing TI_TASK macro in syscall.S
parisc: tracehook_signal_handler
parisc: tracehook_report_syscall -
In module unload, lis3lv02d core driver sysfs clean up was not called.
Signed-off-by: Samu Onkalo
Acked-by: Daniel Mack
Cc: Éric Piel
Cc: "Trisal, Kalhan"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The PC Card 8.0 specification (vol. 4, section 3.2.10) says the
TPLLV1_INFO field of the CISTPL_VERS_1 tuple must contain 4 strings. Some
cards don't have all 4 so just parse as many as we can.[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: David Vrabel
Tested-by: Jonathan Cameron
Tested-by: Bing Zhao
Cc: Roel Kluin
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
fix the following 'make includecheck' warning:
drivers/video/da8xx-fb.c: linux/device.h is included more than once.
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
fix the following 'make includecheck' warning:
drivers/video/msm/mddi.c: linux/delay.h is included more than once.
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
conflict in radeon since new init path merged with vga arb code.
Conflicts:
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/radeon_device.c -
Both r100/r600 had this wrong, use the macro to extract the register
to relocate.Signed-off-by: Dave Airlie
-
There is no need to assign vb before you know that space is available.
[agd5f: adapted for kernel tree.]
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
This is just a cleanup of the list macro usage.
Signed-off-by: Dave Airlie
-
For AGP to work unmapped access must cover VRAM & AGP as
AGP is treated like VRAM by the GPU (ie physical address).
This patch properly setup the virtual memory system aperture
to cover AGP if AGP is enabled. It seems that there is memory
corruption after resume when using AGP (RV770 seems unaffected
thought). Version 2 just fix merge issue with updated AGP
fallback patch.Signed-off-by: Jerome Glisse
Signed-off-by: Dave Airlie -
When GPU acceleration is not working with AGP try to fallback to non
AGP GART (either PCI or PCIE GART). This should make KMS failure on
AGP less painfull. We still need to find out what is wrong when AGP
fails but at least user have a lot of more chances to get a working
configuration with acceleration. This patch also cleanup R600/RV770
fallback path so they use same code as others asics. Version 2
factorize agp disabling logic to avoid code duplication and bugs.Signed-off-by: Jerome Glisse
Signed-off-by: Dave Airlie -
Bad generated header file leaded to use wrong register
to check IRQ status and acknowledge them. Fix the header
and use proper registers.Signed-off-by: Jerome Glisse
Signed-off-by: Dave Airlie
07 Oct, 2009
18 commits
-
When injecting DRAM ECC errors (F3xBC_x8), EccVector[15:0] is a bitmask
of which bits should be error injected when written to and holds the
payload of 16-bit DRAM word when read, respectively.Add /sysfs members to show the DRAM ECC section/word/vector.
Fail wrong injection values entered over /sysfs instead of truncating
them.Signed-off-by: Borislav Petkov
-
On Fam10h and above, F1x[1, 0][7C:40] are DRAM Base/Limit registers
which specify the destination node of a DRAM address. Those address
boundaries are being extracted into ->dram_base[] and ->dram_limit[].
Correct the extraction masks to match the respective address bits.Signed-off-by: Borislav Petkov
-
Different processor families support a different number of chip selects.
Handle this in a family-dependent way with the proper values assigned at
init time (see amd64_set_dct_base_and_mask).Remove _DCSM_COUNT defines since they're used at one place and originate
from public documentation.CC: Keith Mannthey
Signed-off-by: Borislav Petkov -
This allows the errors to be further decoded and mapped to csrows.
Tested with ECC debug dimms and an Rev F cpu based system.Signed-off-by: Keith Mannthey
Signed-off-by: Borislav Petkov -
The check when DRAM interleaving is enabled should be done against the
pvt->dram_IntlvSel field and not against the ->dram_limit.Simplify first loop and fixup printk formatting while at it.
Signed-off-by: Borislav Petkov
-
The pvt->dram_IntlvEn saves the 3 "Interleave Enable" bits already
right-shifted by 8 so the check in find_mc_by_sys_addr() by shifting the
values to the left 8 bits is wrong.Signed-off-by: Borislav Petkov
-
K8 DRAM base and limit addresses from F1x40 +8*i and F1x44 + 8*i, where
i in (0..7) are both bits 39-24 and therefore the shifting should be
done by 24 and not by 8.Signed-off-by: Borislav Petkov
-
Allocate memory statically for 8-node machines max for simplicity
instead of relying on MAX_NUMNODES which is 0 on !CONFIG_NUMA builds.Spotted by Jan Beulich.
Signed-off-by: Borislav Petkov
-
This reverts commit 24df31acaff8465d797f0006437b45ad0f2a5cb1.
The root cause of reported system hangs was (now fixed) sis5513 bug
and not "ide: try to use PIO Mode 0 during probe if possible" change
(commit 6029336426a2b43e4bc6f4a84be8789a047d139e) so the revert was
incorrect (it simply replaced one regression with the other one).Signed-off-by: Bartlomiej Zolnierkiewicz
Signed-off-by: David S. Miller -
Clear prefetch setting before potentially (re-)enabling it in
config_drive_art_rwp() so the transition of the device type on
the port from ATA to ATAPI (i.e. during warm-plug operation)
is handled correctly.This is a really old bug (it probably goes back to very early
days of the driver) but it was only affecting warm-plug operation
until the recent "ide: try to use PIO Mode 0 during probe if
possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e).Signed-off-by: Bartlomiej Zolnierkiewicz
Tested-by: David Fries
Signed-off-by: David S. Miller -
Only 128 buffer descriptors are supported in the core. Limit the
number in case we have more memory.Signed-off-by: Thomas Chou
Signed-off-by: David S. Miller -
This patch enabled the ethoc to allocate system memory as buffer
when there is no dedicated buffer memory.Some hardware designs may not have dedicated buffer memory such as
on chip or off chip SRAM. In this case, only one memory resource is
supplied in the platform data instead of two. Then a DMA buffer can
be allocated from system memory and used for the transfer.Signed-off-by: Thomas Chou
Signed-off-by: David S. Miller -
The packet buffer is allocated at 4 bytes boundary, but the IP header
length and version bits is located at byte 14. These bit fields access
as 32 bits word and caused exception on processors that do not support
unaligned access.The patch adds 2 bytes offset to make the bit fields word aligned.
Signed-off-by: Thomas Chou
Signed-off-by: David S. Miller -
The pointer address in buffer descriptors is physical address. The
pointer that processor used to access packet is virtual address.Though the higher bits of pointer address used by the MAC may be
truncated to zero in special case, it is not always true in larger
designs.Signed-off-by: Thomas Chou
Signed-off-by: David S. Miller -
It should be max() instead of min(). Use 1/4 of available
descriptors for tx, and there should be at least 2 tx
descriptors.Signed-off-by: Thomas Chou
Signed-off-by: David S. Miller -
in update_rx_stats() the RX_OVERLEN bit is set twice, replace it by RX_RUNT.
in au1000_rx() the RX_MISSED_FRAME bit was tested a few lines earlier alreadySigned-off-by: Roel Kluin
Acked-by: Manuel Lauss
Signed-off-by: David S. Miller -
The closing parenthesis was not on the right location.
Signed-off-by: Roel Kluin
Acked-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
Not all pasemi mac interfaces can have a phy attached.
For example, XAUI has no phy and phydev is NULL for it.
In this case ethtool get settings causes kernel crash.
Fix it by returning -EOPNOTSUPP if there's no PHY attached.Signed-off-by: Valentine Barshak
Acked-by: Olof Johansson
Signed-off-by: David S. Miller