2007-12-21 01:41:26

by Linus Torvalds

[permalink] [raw]
Subject: Linux 2.6.24-rc6


The most noticeable part here (both to users and in the diffstat) should
be the libata-acpi fixes by Tejun Heo, which should hopefully take care of
all of the regressions that were caused by teaching SATA about doing the
proper ACPI stuff at bootup/suspend/resume/shutdown.

Other changes visible in the diffstat are a couple of new watchdog drivers
and the removal of the old tipar driver, and some Korean translations of
the kernel docs. And some V4L videobuf changes.

Other than that, it's pretty much a lot of small fixes (maybe not
one-liners, but we're talking "a few lines"). Networking, USB, scsi,
wireless, infiniband, IDE... With some alpha, ia64 and x86 arch updates.

The regression list keeps shrinking, so we're still on track for a full
2.6.24 release in early January. Assuming we don't all overeat during the
holidays and nobody gets any work done. But we all know that the holidays
are really the time when we get away from the boring "real work", and can
spend 24/7 on kernel hacking instead, right?

Here's to a merry christmas, doing the whole druidic festival around the
tree thing,

Linus

---
Aaron Carroll (2):
as-iosched: fix incorrect comments
as-iosched: fix write batch start point

Adam Jackson (1):
apm_event{,info}_t are userspace types

Adrian Bunk (14):
V4L/DVB (6796): ivtv/ section fix
V4L/DVB (6797): bt8xx/ section fixes
V4L/DVB (6803): buf-core.c locking fixes
V4L/DVB (6814): Makefile: always enter video/
drivers/net/sis190.c section fix
drivers/net/s2io.c section fixes
wireless/ipw2200.c: add __dev{init,exit} annotations
drivers/cpufreq/cpufreq_stats.c section fix
block: let elv_register() return void
timer: kernel/timer.c section fixes
x86 apic_32.c section fix
x86 smpboot_32.c section fixes
x86_32: select_idle_routine() must be __cpuinit
x86_32: disable_pse must be __cpuinitdata

Al Viro (5):
sundance fixes
starfire VLAN fix
hamachi endianness fixes
[SYNCPPP]: Endianness and 64bit fixes.
sis190 endianness

Alan Cox (2):
[SCSI] initio: fix conflict when loading driver
pata_hpt37x: Fix HPT374 detection

Alan Stern (2):
USB: fix locking loop by avoiding flush_scheduled_work
USB: use IRQF_DISABLED for HCD interrupt handlers

Alasdair G Kergon (1):
dm: trigger change uevent on rename

Alexey Starikovskiy (3):
ACPI: SBS: Reset alarm bit
ACPI: SBS: Ignore alarms coming from unknown devices
ACPI: SBS: Return rate in mW if capacity in mWh

Amos Waterland (1):
[IPV4]: Updates to nfsroot documentation

Andrew Morton (6):
V4L/DVB (6819): i2c: fix drivers/media/video/bt866.c
ucc_geth: minor whitespace fix
[TIPC]: Fix semaphore handling.
bcm43xx_debugfs sscanf fix
fix headers_install
revert "Hibernation: Use temporary page tables for kernel text mapping on x86_64"

Andrey Borzenkov (1):
ACPI: battery: fix ACPI battery technology reporting

Andries E. Brouwer (1):
ext3, ext4: avoid divide by zero

Anton Vorontsov (1):
ucc_geth: really fix section mismatch

Arjan van de Ven (1):
debug: add end-of-oops marker

Atsushi Nemoto (1):
i2c-gpio: Initialize adapter class

Auke Kok (1):
e100: free IRQ to remove warningwhenrebooting

Barry Kasindorf (1):
oprofile: op_model_athlon.c support for AMD family 10h barcelona performance counters

Bartlomiej Zolnierkiewicz (13):
ide-scsi: add ide_scsi_hex_dump() helper
ide: add missing checks for control register existence
ide: deprecate CONFIG_BLK_DEV_OFFBOARD
ide: fix ide_scan_pcibus() error message
ide: coding style fixes for drivers/ide/setup-pci.c
ide: add /sys/bus/ide/devices/*/{model,firmware,serial} sysfs entries
ide: DMA reporting and validity checking fixes (take 3)
ide-cd: remove dead post_transform_command()
pdc202xx_new: fix Promise TX4 support
ide: remove dead code from __ide_dma_test_irq()
ide: remove stale changelog from ide-disk.c
ide: remove stale changelog from ide-probe.c
ide: fix ->io_32bit race in set_io_32bit()

Benjamin Herrenschmidt (1):
usb: Remove broken optimisation in OHCI IRQ handler

Benoit Istin (1):
V4L/DVB (6746): saa7134-dvb: fix tuning for WinTV HVR-1110

Boaz Harrosh (1):
[SCSI] initio: bugfix for accessors patch

Brandon Philips (4):
V4L/DVB (6601): V4L: videobuf-core locking fixes and comments
V4L/DVB (6602): V4L: Convert videobuf drivers to videobuf_stop
V4L/DVB (6615): V4L: Fix VIDIOCGMBUF locking in saa7146
V4L/DVB (6751): V4L: Memory leak! Fix count in videobuf-vmalloc mmap

Chris Dearman (1):
[MIPS] Ensure that ST0_FR is never set on a 32 bit kernel

Chris Pascoe (1):
V4L/DVB (6629): zl10353: fix default adc_clock and TRL nominal rate calculation

Christoph Hellwig (1):
[XFS] Fix mknod regression

Christoph Lameter (3):
SLUB: remove useless masking of GFP_ZERO
quicklist: Set tlb->need_flush if pages are remaining in quicklist 0
IA64: Slim down __clear_bit_unlock

Corey Minyard (1):
[WATCHDOG] ipmi: add the standard watchdog timeout ioctls

Cyrill Gorcunov (2):
ieee80211_rate: missed unlock
iwlwifi3945/4965: fix rate control algo reference leak

Dan Williams (1):
libertas: select WIRELESS_EXT

Dave Jones (1):
cpufreq: fix missing unlocks in cpufreq_add_dev error paths.

Dave Young (1):
pktcdvd: add kobject_put when kobject register fails

David Brownell (2):
i2c/isp1301_omap: Build fix
rtc-at32ap700x: fix irq init oops

David S. Miller (2):
[SPARC64]: Fix endless loop in cheetah_xcall_deliver().
[SPARC64]: Fix two kernel linear mapping setup bugs.

Dhaval Giani (1):
Add Documentation for FAIR_USER_SCHED sysfs files

Dmitry Adamushko (1):
sched: fix crash on ia64, introduce task_current()

Doug Maxey (1):
usb-storage: Fix devices that cannot handle 32k transfers

Eric Dumazet (3):
[NETFILTER]: xt_hashlimit should use time_after_eq()
parport: "dev->timeslice" is an unsigned long, not an int
sched: sysctl, proc_dointvec_minmax() expects int values for

Eric Sandeen (3):
ecryptfs: initialize new auth_tokens before teardown
ecryptfs: set s_blocksize from lower fs in sb
ecryptfs: fix fsx data corruption problems

Eric W. Biederman (1):
sysctl: fix ax25 checks

FUJITA Tomonori (1):
[SCSI] st: fix kernel BUG at include/linux/scatterlist.h:59!

Gary Hade (2):
ACPI: acpiphp: Remove dmesg spam on device remove
PCI: Restore PCI expansion ROM P2P prefetch window creation

Geert Uytterhoeven (1):
ps3fb: Update for firmware 2.10

Geoff Levand (2):
sparsemem: make SPARSEMEM_VMEMMAP selectable
ps3fb: Fix ps3fb free_irq() dev_id

Gilles Gigan (1):
[WATCHDOG] add Nano 7240 driver

Greg Kroah-Hartman (2):
kobject: fix the documentation of how kobject_set_name works
USB: revert portions of "UNUSUAL_DEV: Sync up some reported devices from Ubuntu"

Guillaume Chazarain (1):
kbuild: re-enable Makefile generation in a new O=... directory

Hans Verkuil (1):
V4L/DVB (6485): ivtv: fix compile warning

Hans-Christian Egtvedt (1):
[WATCHDOG] at32ap700x_wdt: add support for boot status and add fix for silicon errata

Hartmut Hackmann (1):
V4L/DVB (6579): Fix bug #8824: Correct support for Diseqc on tda10086

Heikki Lindholm (2):
V4L/DVB (6666): saa7134-alsa: fix period handling
V4L/DVB (6690): saa7134: fix ignored interrupts

Henrique de Moraes Holschuh (1):
ACPI: thinkpad-acpi: fix lenovo keymap for brightness

Herbert Xu (1):
[IPSEC]: Fix potential dst leak in xfrm_lookup

Hermann Pitton (1):
V4L/DVB (6686): saa7134: fix composite over s-video input on the Tevion MD 9717

Hidetoshi Seto (2):
[IA64] Remove assembler warnings on head.S
[IA64] Adjust CMCI mask on CPU hotplug

Hinko Kocevar (2):
[IRDA]: mcs7780 needs to free allocated rx buffer.
[IRDA]: irlmp_unregister_link() needs to free lsaps.

Ian Wienand (1):
[IA64] set_thread_area fails in IA32 chroot

Ingo Molnar (4):
sched: touch softlockup watchdog after idling
sched: do not hurt SCHED_BATCH on wakeup
x86: fix "Kernel panic - not syncing: IO-APIC + timer doesn't work!"
x86: fix die() to not be preemptible

Ivan Kokshaysky (3):
alpha: strncpy/strncat fixes
alpha: build fixes
mm: fix exit_mmap BUG() on a.out binary exit

Jaime Velasco Juan (1):
USB: option: Bind to the correct interface of the Huawei E220

James Bottomley (1):
[SCSI] dpt_i2o: driver is only 32 bit so don't set 64 bit DMA mask

James Lentini (1):
SUNRPC xprtrdma: fix XDR tail buf marshalling for all ops

Jan Beulich (3):
ACPI: fix modpost warnings
x86: also define AT_VECTOR_SIZE_ARCH
[IA64] make flush_tlb_kernel_range() an inline function

Jan Kara (1):
Fix compilation warning in dquot.c

Jarek Poplawski (1):
[AX25]: Locking dependencies fix in ax25_disconnect().

Jason Gaston (1):
x86: intel_cacheinfo.c: cpu cache info entry for Intel Tolapai

Jean Delvare (1):
i2c: Delete an outdated piece of documentation

Jeff Long (1):
USB: cp2101: new device id

Jiri Kosina (1):
V4L/DVB (6733): DVB: Compile 3000MC-specific DIB code only for CONFIG_DVB_DIB3000MC

Jiri Slaby (3):
[WATCHDOG] bfin_wdt, remove SPIN_LOCK_UNLOCKED
[WATCHDOG] Sbus: cpwatchdog, remove SPIN_LOCK_UNLOCKED
Net: ibm_newemac, remove SPIN_LOCK_UNLOCKED

Joachim Fenkes (3):
IB/ehca: Return correct number of SGEs for SRQ
IB/ehca: Serialize HCA-related hCalls if necessary
IB/ehca: Fix lock flag variable location, bump version number

Jochen Friedrich (2):
[POWERPC] Fix typo #ifdef -> #ifndef
[POWERPC] Kill non-existent symbols from ksyms and commproc.h

Joe Perches (2):
i2c: Add missing spaces in split log messages
[IA64] Two trivial spelling fixes

Jorge Boncompte [DTI2] (1):
[WATCHDOG] IT8212F watchdog driver

Julia Lawall (4):
[UM]: Fix use of skb after netif_rx
[XTENSA]: Fix use of skb after netif_rx
[S390]: Fix use of skb after netif_rx
drivers/macintosh/via-pmu.c: Added a missing iounmap

Jun'ichi Nomura (1):
dm: table detect io beyond device

Kenji Kaneshige (1):
[IA64] Remove compiler warinings about uninitialized variable in irq_ia64.c

Kevin Hilman (2):
[ARM] 4694/1: IXP4xx: Update clockevent support for shutdown and resume
genirq: add unlocked version of set_irq_handler()

Komuro (1):
pcnet_cs: add new id

Lachlan McIlroy (3):
[XFS] Don't wait for pending I/Os when purging blocks beyond eof.
[XFS] Put the correct offset in dirent d_off
[XFS] Initialise current offset in xfs_file_readdir correctly

Larry Finger (1):
b43: Fix rfkill radio LED

Linus Torvalds (3):
Revert "make bnx2x select ZLIB_INFLATE"
Do dirty page accounting when removing a page from the page cache
Linux 2.6.24-rc6

Liu Yu (1):
[POWERPC] Fix rounding bug in emulation for double float operating

Livio Soares (1):
sched: mark rwsem functions as __sched for wchan/profiling

Mark Fasheh (4):
ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()
ocfs2: Don't panic when truncating an empty extent
ocfs2: Allow for debugging of transaction extends
ocfs2: Re-journal buffers after transaction extend

Mark Lord (1):
sata_mv: improve warnings about Highpoint RocketRAID 23xx cards

Martin Habets (2):
[SERIAL] sparc: Infrastructure to fix section mismatch bugs.
[SPARC32]: Silence sparc32 warnings on missing syscalls.

Martin Schwidefsky (1):
[S390] pud_present/pmd_present bug.

Masami Hiramatsu (2):
x86: jprobe bugfix
x86: kprobes bugfix

Matheos Worku (1):
ixgb: make sure jumbos stay enabled after reset

Mauro Carvalho Chehab (5):
V4L/DVB (6542): Fix S-video mode on tvp5150
V4L/DVB (6581): Fix: avoids negative vma usage count
V4L/DVB (6750): Fix in-kernel compilation for cxusb
V4L/DVB (6794): Fix compilation when dib3000mc is compiled as a module
V4L/DVB (6609): Re-adds lock safe videobuf_read_start

Mel Gorman (1):
mm: fix page allocation for larger I/O segments

Michael Brunner (1):
[ARM] 4690/1: PXA: fix CKEN corruption in PXA27x AC97 cold reset code

Michael Chan (3):
[BNX2]: Add PHY_DIS_EARLY_DAC workaround.
[BNX2]: Fix RX packet rot.
[BNX2]: Update version to 1.6.9.

Michael Ellerman (1):
[POWERPC] Make PS3_SYS_MANAGER default y, not m

Michael Krufky (1):
V4L/DVB (6798): saa7134: enable LNA in analog mode for Hauppauge WinTV HVR-1110

Mike Rapoport (1):
[ARM] 4667/1: CM-X270 fixes

Mike Travis (1):
x86: fix show cpuinfo cpu number always zero

Milan Broz (2):
dm crypt: fix write endio
dm crypt: use bio_add_page

Nathan Lynch (1):
fix bloat-o-meter for ppc64

Neil Brown (1):
dm: merge max_hw_sector

Nick Piggin (1):
[IA64] ia32 nopage

Nicolas Ferre (1):
USB: at91_udc: correct hanging while disconnecting usb cable

Nicolas Pitre (1):
mmc: remove unused 'mode' from the mmc_host structure

Nishanth Aravamudan (3):
hugetlb: introduce nr_overcommit_hugepages sysctl
Revert "hugetlb: Add hugetlb_dynamic_pool sysctl"
Documentation: update hugetlb information

Olaf Hartmann (1):
[IRDA]: stir4200 fixes.

Oliver Neukum (1):
[IRDA]: Race between open and disconnect in irda-usb.

Pablo Neira Ayuso (1):
[NETFILTER]: ctnetlink: set expected bit for related conntracks

Patrick McHardy (2):
[NETFILTER]: ip_tables: fix compat copy race
[NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets

Paul Moore (1):
[XFRM]: Display the audited SPI value in host byte order.

Paul Mundt (2):
net: smc911x: shut up compiler warnings
dm mpath: hp requires scsi

Pavel Emelyanov (2):
[IPV4]: Swap the ifa allocation with the"ipv4_devconf_setall" call
[VLAN]: Fix potential race in vlan_cleanup_module vs vlan_ioctl_handler.

Peter Zijlstra (1):
sched: rt: account the cpu time during the tick

Pierre Ossman (4):
sdhci: describe quirks
sdhci: don't warn about sdhci 2.0 controllers
sdhci: use PIO when DMA can't satisfy the request
sdhci: support JMicron JMB38x chips

Ralf Baechle (3):
[MIPS] Atlas, Malta: Don't free firmware memory on free_initmem.
[MIPS] PCI: Make pcibios_fixup_device_resources ignore legacy resources.
[MIPS] time: Delete weak definition of plat_time_init() due to gcc bug.

Randy Dunlap (2):
usb.h: fix kernel-doc warning
Cleanup umem driver: fix most checkpatch warnings, conform to kernel

Richard Knutsson (2):
V4L/DVB (6684): Complement va_start() with va_end() + style fixes
[IRDA]: irda parameters warning fixes.

Romain Li?vin (1):
tipar: remove obsolete module

Russ Anderson (1):
[IA64] Fix Altix BTE error return status

Samuel Tardieu (1):
[WATCHDOG] Stop looking for device as soon as one is found

Sascha Sommer (1):
V4L/DVB (6540): em28xx: fix failing autodetection after the reboot

Satoru SATOH (1):
[IPV4]: Make tcp_input_metrics() get minimum RTO via tcp_rto_min()

Scott Wood (2):
[POWRPC] CPM2: Eliminate section mismatch warning in cpm2_reset().
[POWERPC] 82xx: mpc8272ads, pq2fads: Update defconfig with CONFIG_FS_ENET_MDIO_FCC

Sergei Shtylyov (3):
hpt366: fix HPT37x PIO mode timings (take 2)
[MIPS] Alchemy: fix PCI resource conflict
[MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr()

Shannon Nelson (2):
I/OAT: fixups from code comments
I/OAT: fix null device in call to dev_err()

Sheela (1):
Fix lguest documentation

Shi Weihua (1):
[IA64] signal: remove redundant code in setup_sigcontext()

Simon Horman (1):
[IA64] Guard elfcorehdr_addr with #if CONFIG_PROC_FS

Stanislaw Gruszka (1):
uml: stop gdb from deleting breakpoints when running UML

Stefano Brivio (1):
libertas: add Dan Williams as maintainer

Stephen Hemminger (2):
sky2: RX lockup fix
[BRIDGE]: Assign random address.

Stephen Rothwell (1):
[POWERPC] iSeries: don't printk with HV spinlock held

Steven Rostedt (1):
genirq: revert lazy irq disable for simple irqs

Steven Toth (1):
V4L/DVB (6820): s5h1409: QAM SNR related fixes

Tejun Heo (16):
sata_sil: fix spurious IRQ handling
libata: clear link->eh_info.serror from ata_std_postreset()
libata: add ST3160023AS / 3.42 to NCQ blacklist
libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters
libata: update ata_*_printk() macros such that level can be a variable
libata: add more opcodes to ata.h
libata: ata_dev_disable() should be called from EH context
libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable()
libata-acpi: implement and use ata_acpi_init_gtm()
libata-acpi: implement dev->gtf_cache and evaluate _GTF right after _STM during resume
libata-acpi: improve ACPI disabling
libata-acpi: improve _GTF execution error handling and reporting
libata-acpi: implement _GTF command filtering
libata: update atapi_eh_request_sense() such that lbam/lbah contains buffer size
libata: fix ATAPI draining
block: use jiffies conversion functions in scsi_ioctl.c

Thomas Gleixner (1):
clockevents: fix reprogramming decision in oneshot broadcast

Thomas Graf (2):
[IPv4] ESP: Discard dummy packets introduced in rfc4303
[IPv6] ESP: Discard dummy packets introduced in rfc4303

Tom "spot" Callaway (1):
[ATM]: Fix compiler warning noise with FORE200E driver

Tony Battersby (2):
[SCSI] sym53c8xx: fix free_irq() regression
[SCSI] sym53c8xx: fix "irq X: nobody cared" regression

Tony Luck (1):
[IA64] print kernel release in OOPS to make kerneloops.org happy

Trond Myklebust (5):
NFS: Fix NFS mountpoint crossing...
NFSv2/v3: Fix a memory leak when using -onolock
Revert "NFS: Ensure we return zero if applications attempt to write zero bytes"
NFS: Fix an Oops in NFS unmount
MAINTAINERS: update the NFS CLIENT entry

Tsugikazu Shibata (1):
HOWTO: Change man-page maintainer address for Japanese HOWTO

Ulrich Kunitz (1):
zd1211rw: Fix alignment problems

Uwe Kleine-K?nig (2):
[ARM] 4710/1: Fix coprocessor 14 usage for debug messages via ICEDCC
fs/Kconfig: grammar fix

Vlad Yasevich (1):
[SCTP]: Flush fragment queue when exiting partial delivery.

WANG Cong (2):
mm/sparse.c: check the return value of sparse_index_alloc()
mm/sparse.c: improve the error handling for sparse_add_one_section()

Wang Chen (1):
[NET]: Fix wrong comments for unregister_net*

Wei Yongjun (1):
[IPV6]: Fix the return value of ipv6_getsockopt

William Lee Irwin III (1):
ACPI: video_device_list corruption

YOSHIFUJI Hideaki (1):
[IPV6] XFRM: Fix auditing rt6i_flags; use RTF_xxx flags instead of RTCF_xxx.

Yoichi Yuasa (1):
[MIPS] time: Set up Cobalt's mips_hpt_frequency

Zhu Yi (1):
iwlwifi: fix rf_kill state inconsistent during suspend and resume

[email protected] (1):
USB: sierra: fix product id

barrios (2):
add stable_api_nonsense.txt in korean
HOWTO: update misspelling and word incorrected

de Dinechin, Christophe (Integrity VM) (1):
[IA64] Avoid unnecessary TLB flushes when allocating memory

minchan kim (1):
HOWTO: change addresses of maintainer and lxr url for Korean HOWTO


2007-12-21 02:42:19

by Yanmin Zhang

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

On Thu, 2007-12-20 at 17:41 -0800, Linus Torvalds wrote:
> The most noticeable part here (both to users and in the diffstat) should
> be the libata-acpi fixes by Tejun Heo, which should hopefully take care of
> all of the regressions that were caused by teaching SATA about doing the
> proper ACPI stuff at bootup/suspend/resume/shutdown.
>
> Other changes visible in the diffstat are a couple of new watchdog drivers
> and the removal of the old tipar driver, and some Korean translations of
> the kernel docs. And some V4L videobuf changes.
>
> Other than that, it's pretty much a lot of small fixes (maybe not
> one-liners, but we're talking "a few lines"). Networking, USB, scsi,
> wireless, infiniband, IDE... With some alpha, ia64 and x86 arch updates.
>
> The regression list keeps shrinking, so we're still on track for a full
> 2.6.24 release in early January. Assuming we don't all overeat during the
> holidays and nobody gets any work done. But we all know that the holidays
> are really the time when we get away from the boring "real work", and can
> spend 24/7 on kernel hacking instead, right?
>
> Here's to a merry christmas, doing the whole druidic festival around the
> tree thing,
When my automation testing system applied it to 2.6.23, below error stopped
the testing.

***************************
Hunk #3 FAILED at 534.
1 out of 3 hunks FAILED -- saving rejects to file drivers/video/mbx/reg_bits.h.rej
patching file drivers/video/mbx/regs.h

-yanmin

2007-12-21 02:48:21

by Kyle McMartin

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

On Thu, Dec 20, 2007 at 05:41:09PM -0800, Linus Torvalds wrote:
> The regression list keeps shrinking, so we're still on track for a full
> 2.6.24 release in early January. Assuming we don't all overeat during the
> holidays and nobody gets any work done. But we all know that the holidays
> are really the time when we get away from the boring "real work", and can
> spend 24/7 on kernel hacking instead, right?
>

The patch-2.6.24-rc6.bz2 doesn't seem to apply to a pristine
linux-2.6.23 tree? I see this while updating Fedora:

+ '[' '!' -f /home/kyle/rpms/kernel/devel/patch-2.6.24-rc6.bz2 ']'
+ case "$patch" in
+ bunzip2
+ patch -p1 -F1 -s
1 out of 3 hunks FAILED -- saving rejects to file
drivers/video/mbx/reg_bits.h.rej
error: Bad exit status from /var/tmp/rpm-tmp.22316 (%prep)

cheers, Kyle

2007-12-21 03:02:04

by Kyle McMartin

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

On Thu, Dec 20, 2007 at 09:48:05PM -0500, Kyle McMartin wrote:
> 1 out of 3 hunks FAILED -- saving rejects to file
> drivers/video/mbx/reg_bits.h.rej
> error: Bad exit status from /var/tmp/rpm-tmp.22316 (%prep)
>

I think I see the problem, it's lack of context in the diff,

commit ba282daa919f89c871780f344a71e5403a70b634
Author: Raphael Assenat <[email protected]>
Date: Tue Oct 16 01:28:40 2007 -0700

seems to duplicate the DINTRS & DINTRE defines for no obvious reason,
confusing the hell out of patch.

regards,
Kyle

2007-12-21 03:24:15

by Kyle McMartin

[permalink] [raw]
Subject: [PATCH] mbx: Fix up duplicate defines in reg_bits.h

Otherwise patch gets horribly confused and falls over applying
the diff. Not sure why these were being defined twice.

Signed-off-by: Kyle McMartin <[email protected]>
---
Well, we can get it fixed for -git1, I respun the patch-2.6.24-rc6 diff
with git diff -p v2.6.23..HEAD and applied it to a pristine linux-2.6.23
tree without issue.

cheers,
Kyle

drivers/video/mbx/reg_bits.h | 24 ------------------------
1 files changed, 0 insertions(+), 24 deletions(-)

diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h
index 5f14b4b..8dc4283 100644
--- a/drivers/video/mbx/reg_bits.h
+++ b/drivers/video/mbx/reg_bits.h
@@ -540,30 +540,6 @@
#define DINTRE_HBLNK1_EN (1 << 1)
#define DINTRE_HBLNK0_EN (1 << 0)

-/* DINTRS - Display Interrupt Status Register */
-#define DINTRS_CUR_OR_S (1 << 18)
-#define DINTRS_STR2_OR_S (1 << 17)
-#define DINTRS_STR1_OR_S (1 << 16)
-#define DINTRS_CUR_UR_S (1 << 6)
-#define DINTRS_STR2_UR_S (1 << 5)
-#define DINTRS_STR1_UR_S (1 << 4)
-#define DINTRS_VEVENT1_S (1 << 3)
-#define DINTRS_VEVENT0_S (1 << 2)
-#define DINTRS_HBLNK1_S (1 << 1)
-#define DINTRS_HBLNK0_S (1 << 0)
-
-/* DINTRE - Display Interrupt Enable Register */
-#define DINTRE_CUR_OR_EN (1 << 18)
-#define DINTRE_STR2_OR_EN (1 << 17)
-#define DINTRE_STR1_OR_EN (1 << 16)
-#define DINTRE_CUR_UR_EN (1 << 6)
-#define DINTRE_STR2_UR_EN (1 << 5)
-#define DINTRE_STR1_UR_EN (1 << 4)
-#define DINTRE_VEVENT1_EN (1 << 3)
-#define DINTRE_VEVENT0_EN (1 << 2)
-#define DINTRE_HBLNK1_EN (1 << 1)
-#define DINTRE_HBLNK0_EN (1 << 0)
-

/* DLSTS - display load status register */
#define DLSTS_RLD_ADONE (1 << 23)
--
1.5.3.6

2007-12-21 03:49:42

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6



On Thu, 20 Dec 2007, Kyle McMartin wrote:
>
> I think I see the problem, it's lack of context in the diff,

No, the problem is that "git diff" is apparently broken by a recent
optimization. The diff is simply broken.

The tar-ball and the git archive itself is fine, but yes, the diff from
2.6.23 to 2.6.24-rc6 is bad. It's the "trim_common_tail()" optimization
that has caused way too much pain.

Sorry about that, I'll fix it up asap.

Linus

2007-12-21 03:50:48

by Kyle McMartin

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

On Thu, Dec 20, 2007 at 07:49:05PM -0800, Linus Torvalds wrote:
>
>
> On Thu, 20 Dec 2007, Kyle McMartin wrote:
> >
> > I think I see the problem, it's lack of context in the diff,
>
> No, the problem is that "git diff" is apparently broken by a recent
> optimization. The diff is simply broken.
>
> The tar-ball and the git archive itself is fine, but yes, the diff from
> 2.6.23 to 2.6.24-rc6 is bad. It's the "trim_common_tail()" optimization
> that has caused way too much pain.
>
> Sorry about that, I'll fix it up asap.
>

no biggie, thanks!

cheers, Kyle

2007-12-21 04:23:08

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6



On Thu, 20 Dec 2007, Linus Torvalds wrote:
>
> The tar-ball and the git archive itself is fine, but yes, the diff from
> 2.6.23 to 2.6.24-rc6 is bad. It's the "trim_common_tail()" optimization
> that has caused way too much pain.

Very interesting breakage. The patch was actually "correct" in a (rather
limited) technical sense, but the context at the end was missing because
while the trim_common_tail() code made sure to keep enough common context
to allow a valid diff to be generated, the diff machinery itself could
decide that it could generate the diff differently than the "obvious"
solution.

It only happened for a few files that had lots of repeated lines - so that
the diff could literally be done multiple different ways - and in fact,
the file that caused the problems really had a bogus commit that
duplicated *way* too much data, and caused lots of #define's to exist
twice.

But the sad fact appears that the git optimization (which is very
important for "git blame", which needs no context), is only really valid
for that one case where we really don't need any context.

I uploaded a fixed patch. And here's the git patch to avoid this
optimization when there is context.

Linus

---
xdiff-interface.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xdiff-interface.c b/xdiff-interface.c
index 9ee877c..0b7e057 100644
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
@@ -110,22 +110,22 @@ int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf)
static void trim_common_tail(mmfile_t *a, mmfile_t *b, long ctx)
{
const int blk = 1024;
- long trimmed = 0, recovered = 0;
+ long trimmed = 0;
char *ap = a->ptr + a->size;
char *bp = b->ptr + b->size;
long smaller = (a->size < b->size) ? a->size : b->size;

+ if (ctx)
+ return;
+
while (blk + trimmed <= smaller && !memcmp(ap - blk, bp - blk, blk)) {
trimmed += blk;
ap -= blk;
bp -= blk;
}

- while (recovered < trimmed && 0 <= ctx)
- if (ap[recovered++] == '\n')
- ctx--;
- a->size -= (trimmed - recovered);
- b->size -= (trimmed - recovered);
+ a->size -= trimmed;
+ b->size -= trimmed;
}

int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t const *xecfg, xdemitcb_t *xecb)

2007-12-21 04:41:42

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6



On Thu, 20 Dec 2007, Linus Torvalds wrote:
>
> It only happened for a few files that had lots of repeated lines - so that
> the diff could literally be done multiple different ways - and in fact,
> the file that caused the problems really had a bogus commit that
> duplicated *way* too much data, and caused lots of #define's to exist
> twice.

Here's the example of this kind of behaviour: in the 2.6.26-rc5 tree the
file drivers/video/mbx/reg_bits.h has the #defines for

/* DINTRS - Display Interrupt Status Register */
/* DINTRE - Display Interrupt Enable Register */

duplicated twice due to commit ba282daa919f89c871780f344a71e5403a70b634
("mbxfb: Improvements and new features") by Raphael Assenat mistakenly
adding another copy of the same old set of defines that we already got
added once before by commit fb137d5b7f2301f2717944322bba38039083c431
("mbxfb: Add more registers bits access macros").

Now, that was a mistake - and one that probably happened because Rafael or
more likely Andrew Morton used GNU patch with its insane defaults (which
is to happily apply the same patch that adds things twice, because it
doesn't really care if the context matches or not).

But what that kind of thing causes is that when you create a patch of the
end result, it can show the now new duplicate lines two different (but
equally valid) ways: it can show it as an addition of the _first_ set of
lines, or it can show it as an addition of the _second_ set of lines. They
are the same, after all.

Now, it doesn't really matter which way you choose to show it, although
because of how "git diff" finds similarities, it tends to prefer to show
the second set of identical lines as the "new" ones. Which is generally
reasonable.

However, that interacted really badly with the new git logic that said
that "if the two files end in the same sequence, just ignore the common
tail of the file", because the latter copy of the identical lines would
now show up as _part_ of that common tail, so the lines that the git diff
machinery would normally like to show up as "new" did in fact end up being
considered uninteresting, because they were part of an idential tail.

So now "git diff" would happily pick _earlier_ lines as the new ones, and
it would still be a conceptually valid diff, but because we had trimmed
the tail of the file, that conceptually valid diff no longer had the
expected shared context at the end.

And while it's a bit embarrassing, I'm really rather happy that both GNU
patch and "git apply" actually refused to apply the patch. It may have
been "conceptually correct" (ie it did really contain all of the changes!)
but because it lacked the expected context it really wasn't a good patch.

That was a rather long-winded explanation of what happened, mainly because
it was all very unexpected to me, and I had personally mistakenly thought
the git optimization was perfectly valid and actually had to go through
the end result to see what was going on.

Anyway, the diff on kernel.org should be all ok now, and mirrored out too.

Linus

2007-12-21 04:50:29

by Kyle McMartin

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

On Thu, Dec 20, 2007 at 08:40:54PM -0800, Linus Torvalds wrote:
> That was a rather long-winded explanation of what happened, mainly because
> it was all very unexpected to me, and I had personally mistakenly thought
> the git optimization was perfectly valid and actually had to go through
> the end result to see what was going on.
>
> Anyway, the diff on kernel.org should be all ok now, and mirrored out too.
>

Thanks again for being so quick to track this down, applies fine and is
out for building in rawhide now.

cheers, Kyle

2007-12-21 04:59:22

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6



On Thu, 20 Dec 2007, Linus Torvalds wrote:
>
> And here's the git patch to avoid this optimization when there is
> context.

Actually, the code to finding one '\n' is still needed to avoid the
(pathological) case of getting a "\No newline", so scrap that one which
was too aggressive, and use this (simpler) one instead.

Not that it matters in real life, since nobody uses -U0, and "git blame"
won't care. But let's get it right anyway ;)

This whole function has had more bugs than it has lines.

Linus

---
xdiff-interface.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xdiff-interface.c b/xdiff-interface.c
index 9ee877c..711029e 100644
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
@@ -115,15 +115,18 @@ static void trim_common_tail(mmfile_t *a, mmfile_t *b, long ctx)
char *bp = b->ptr + b->size;
long smaller = (a->size < b->size) ? a->size : b->size;

+ if (ctx)
+ return;
+
while (blk + trimmed <= smaller && !memcmp(ap - blk, bp - blk, blk)) {
trimmed += blk;
ap -= blk;
bp -= blk;
}

- while (recovered < trimmed && 0 <= ctx)
+ while (recovered < trimmed)
if (ap[recovered++] == '\n')
- ctx--;
+ break;
a->size -= (trimmed - recovered);
b->size -= (trimmed - recovered);
}

2007-12-21 17:03:19

by Junio C Hamano

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

Linus Torvalds <[email protected]> writes:

> Actually, the code to finding one '\n' is still needed to avoid the
> (pathological) case of getting a "\No newline", so scrap that one which
> was too aggressive, and use this (simpler) one instead.
>
> Not that it matters in real life, since nobody uses -U0, and "git blame"
> won't care. But let's get it right anyway ;)

Actually "blame won't care" is a bit too strong. It's only we
(you) made it not to care. It is a different story if the
change to make it not to care was sensible.

The diff text "git blame" will see is affected with the tail
trimming optimization exactly the same way as the optimization
triggered this thread. With the common tails trimmed, the hunks
match differently from the way they match without trimming (the
gcc changelog testcase has differences between the unoptimized
blame and the tail-trimming one --- your original to put this
logic only in blame and my rewrite to move it in xdiff-interface
produce the same result that is different from the unoptimized
version, although both are 4x faster than the original).

When there are multiple possible matches, any match among them
is a correct match, and a match with a line in a blob is a match
to the blob no matter what line the match is anyway. The usual
workflow of checking blame to find the commit that introduced
the change and then going to "git show" to view the bigger
picture won't get affected. But the blamed line numbers will be
different from the unoptimized blame, and it may not match the
expectation of human readers. It won't match "git show" output
of the blamed commit.

> This whole function has had more bugs than it has lines.

I have to agree. It started as a brilliant idea but then it was
enhanced (in an attempt to support context) and executed not so
brilliantly.

2007-12-23 00:05:42

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Linux 2.6.24-rc6

Hi;

21 Ara 2007 Cum tarihinde, Linus Torvalds şunları yazmıştı:
> Here's to a merry christmas, doing the whole druidic festival around the
> tree thing,

With -rc6, dmesg shows following Unknown symbols;

[...]
[ 26.883635] Bluetooth: Core ver 2.11
[ 26.913123] hci_usb: Unknown symbol hci_suspend_dev
[ 26.913155] hci_usb: Unknown symbol hci_free_dev
[ 26.913495] hci_usb: Unknown symbol hci_resume_dev
[ 26.913566] hci_usb: Unknown symbol hci_alloc_dev
[ 26.913696] hci_usb: Unknown symbol hci_unregister_dev
[ 26.913775] hci_usb: Unknown symbol hci_recv_fragment
[ 26.913841] hci_usb: Unknown symbol hci_register_dev
[ 26.914117] hci_usb: Unknown symbol hci_suspend_dev
[ 26.914148] hci_usb: Unknown symbol hci_free_dev
[ 26.914477] hci_usb: Unknown symbol hci_resume_dev
[ 26.914548] hci_usb: Unknown symbol hci_alloc_dev
[ 26.914678] hci_usb: Unknown symbol hci_unregister_dev
[ 26.914757] hci_usb: Unknown symbol hci_recv_fragment
[ 26.914823] hci_usb: Unknown symbol hci_register_dev
[ 26.915070] hci_usb: Unknown symbol hci_suspend_dev
[ 26.915101] hci_usb: Unknown symbol hci_free_dev
[ 26.915429] hci_usb: Unknown symbol hci_resume_dev
[ 26.915501] hci_usb: Unknown symbol hci_alloc_dev
[ 26.915630] hci_usb: Unknown symbol hci_unregister_dev
[ 26.915709] hci_usb: Unknown symbol hci_recv_fragment
[ 26.915776] hci_usb: Unknown symbol hci_register_dev
[ 26.928322] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 26.937433] ACPI: Thermal Zone [TZS0] (62 C)
[ 26.942470] ACPI: Thermal Zone [TZS1] (66 C)
[ 26.982668] NET: Registered protocol family 31
[ 26.982671] Bluetooth: HCI device and connection manager initialized
[ 26.982675] Bluetooth: HCI socket layer initialized
[ 27.043943] Bluetooth: HCI USB driver ver 2.9
[ 27.074386] usbcore: registered new interface driver hci_usb
[...]

A Google search found [1] and according to that old thread, its either a
general module problem [2] or a module-init-tools (I'm using vanilla
module-init-tools 3.3_pre11) problem [3].

I'm not sure whether its a user-space problem or these caused by bluetooth
module's initialization phase so i decided to report LKML :).

Although these shown in kern.log, bluetooth subsystem works without a problem.

You can find .config and full dmesg output from [4] and if anything else is
needed, please just say it.

[1] http://osdir.com/ml/linux.bluez.devel/2004-10/msg00043.html
[2] http://osdir.com/ml/linux.bluez.devel/2004-10/msg00047.html
[3] http://osdir.com/ml/linux.bluez.devel/2004-10/msg00054.html
[4] http://cekirdek.pardus.org.tr/~caglar/kernel/

Cheers
--
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!