commit a21bd69e1509b43823c317c3bf3f7ffa99884356 Author: Linus Torvalds Date: Thu Apr 5 19:36:56 2007 -0700 Linux 2.6.21-rc6 .. perfect? Ahh, sure. Signed-off-by: Linus Torvalds commit 4c4d51a7316b164ba08af61aa0c124a88bc60450 Author: Herbert Xu Date: Thu Apr 5 00:07:39 2007 -0700 [IPSEC]: Reject packets within replay window but outside the bit mask Up until this point we've accepted replay window settings greater than 32 but our bit mask can only accomodate 32 packets. Thus any packet with a sequence number within the window but outside the bit mask would be accepted. This patch causes those packets to be rejected instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 60e5c166413f17d5ef00b4c1f398dbd44291309a Author: Mitsuru Chinen Date: Wed Apr 4 23:54:59 2007 -0700 [IPv6]: Exclude truncated packets from InHdrErrors statistics Incoming trancated packets are counted as not only InTruncatedPkts but also InHdrErrors. They should be counted as InTruncatedPkts only. Signed-off-by: Mitsuru Chinen Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 75559c167bddc1254db5bcff032ad5eed8bd6f4a Author: Jean Delvare Date: Wed Apr 4 23:52:46 2007 -0700 [APPLETALK]: Fix a remotely triggerable crash When we receive an AppleTalk frame shorter than what its header says, we still attempt to verify its checksum, and trip on the BUG_ON() at the end of function atalk_sum_skb() because of the length mismatch. This has security implications because this can be triggered by simply sending a specially crafted ethernet frame to a target victim, effectively crashing that host. Thus this qualifies, I think, as a remote DoS. Here is the frame I used to trigger the crash, in npg format: { # Ethernet header ----- XX XX XX XX XX XX # Destination MAC 00 00 00 00 00 00 # Source MAC 00 1D # Length # LLC header ----- AA AA 03 08 00 07 80 9B # Appletalk # Appletalk header ----- 00 1B # Packet length (invalid) 00 01 # Fake checksum 00 00 00 00 # Destination and source networks 00 00 00 00 # Destination and source nodes and ports # Payload ----- 0C 0D 0E 0F 10 11 12 13 14 } The destination MAC address must be set to those of the victim. The severity is mitigated by two requirements: * The target host must have the appletalk kernel module loaded. I suspect this isn't so frequent. * AppleTalk frames are non-IP, thus I guess they can only travel on local networks. I am no network expert though, maybe it is possible to somehow encapsulate AppleTalk packets over IP. The bug has been reported back in June 2004: http://bugzilla.kernel.org/show_bug.cgi?id=2979 But it wasn't investigated, and was closed in July 2006 as both reporters had vanished meanwhile. This code was new in kernel 2.6.0-test5: http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=7ab442d7e0a76402c12553ee256f756097cae2d2 And not modified since then, so we can assume that vanilla kernels 2.6.0-test5 and later, and distribution kernels based thereon, are affected. Note that I still do not know for sure what triggered the bug in the real-world cases. The frame could have been corrupted by the kernel if we have a bug hiding somewhere. But more likely, we are receiving the faulty frame from the network. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 58e949139014a852a83b5ef071136b1f50c86ad1 Author: Maciej Zenczykowski Date: Wed Apr 4 19:08:27 2007 -0700 [PATCH] ia64: desc_empty thinko/typo fix Just a one-byter for an ia64 thinko/typo - already fixed for i386 and x86_64. Acked-by: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6e8564f459211117ce300eae2c7fdd23befe34 Author: Yoichi Yuasa Date: Wed Apr 4 19:08:25 2007 -0700 [PATCH] Fix build error on zs serial driver drivers/tc/zs.c:73:24: error: asm/dec/tc.h: No such file or directory Signed-off-by: Yoichi Yuasa Acked-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98de9e3ba23422b5c45b91c93aec1cb1e17514dc Author: john stultz Date: Wed Apr 4 19:08:24 2007 -0700 [PATCH] fix jiffies clocksource inittime In debugging a problem w/ the -rt tree, I noticed that on systems that mark the tsc as unstable before it is registered, the TSC would still be selected and used for a short period of time. Digging in it looks to be a result of the mix of the clocksource list changes and my clocksource initialization changes. With the -rt tree, using a bad TSC, even for a short period of time can results in a hang at boot. I was not able to reproduce this hang w/ mainline, but I'm not completely certain that someone won't trip on it. This patch resolves the issue by initializing the jiffies clocksource earlier so a bad TSC won't get selected just because nothing else is yet registered. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f42d3b8a72ab585f3166a269276c8cca12088af Author: Mike Miller (OS Dev) Date: Wed Apr 4 19:08:23 2007 -0700 [PATCH] cciss: add init of drv->cylinders back to cciss_geometry_inquiry This patch adds initialization of drv->cylinders back into the failing case in cciss_geometry_inquiry. I inadvertently removed it in one my 2TB updates. Signed-off-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2363cc0264c42636e9e7622f78dde5c2f66beb8e Author: Andrew Morton Date: Wed Apr 4 19:08:22 2007 -0700 [PATCH] remove protection of LANANA-reserved majors Revert all this. It can cause device-mapper to receive a different major from earlier kernels and it turns out that the Amanda backup program (via GNU tar, apparently) checks major numbers on files when performing incremental backups. Which is a bit broken of Amanda (or tar), but this feature isn't important enough to justify the churn. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c75fd0ee6e1750e6e527ed1d4aeee66739d9ad79 Author: Rafael J. Wysocki Date: Wed Apr 4 19:08:21 2007 -0700 [PATCH] swsusp: fix memory shrinker Fix a bug in the swsusp's memory shrinker that causes some systems using highmem to refuse to suspend to disk if image_size is set above 1/2 of available RAM. Special thanks to Jiri Slaby for reporting the problem and assistance in debugging it. Signed-off-by: Rafael J. Wysocki Cc: Jiri Slaby Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 418106d6248618bca1add65168a82974c72206db Author: Adrian Bunk Date: Wed Apr 4 19:08:21 2007 -0700 [PATCH] net/sunrpc/svcsock.c: fix a check The return value of kernel_recvmsg() should be assigned to "err", not compared with the random value of a never initialized "err" (and the "< 0" check wrongly always returned false since == comparisons never have a result < 0). Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5792a2856a63cdc568e08a7d6f9b2413d9217b3e Author: NeilBrown Date: Wed Apr 4 19:08:18 2007 -0700 [PATCH] md: avoid a deadlock when removing a device from an md array via sysfs A device can be removed from an md array via e.g. echo remove > /sys/block/md3/md/dev-sde/state This will try to remove the 'dev-sde' subtree which will deadlock since commit e7b0d26a86943370c04d6833c6edba2a72a6e240 With this patch we run the kobject_del via schedule_work so as to avoid the deadlock. Cc: Alan Stern Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 456a09dce9ca9b0013cabcda918aee851a04471d Author: Thomas Bittermann Date: Wed Apr 4 22:20:54 2007 +0200 [PATCH] kernel/time.c: add missing symbol exports This patch adds 2 missing symbol exports: jiffies_to_timeval() and timeval_to_jiffies(). The (not yet merged) dm-raid4-5 module will need them, and they used to be indirectly exported by virtue of being inline functions. Commit 8b9365d753d9870bb6451504c13570b81923228f ("[PATCH] Uninline jiffies.h functions") uninlined them, and thus modules now need them explicitly exported to use them. Signed-off-by: Thomas Bittermann Acked-by: Andrew Morton Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Acked-by: john stultz Signed-off-by: Linus Torvalds commit 927498217c104aab27b81c785ce3a489491a8964 Author: Eric W. Biederman Date: Tue Apr 3 00:07:30 2007 -0600 [PATCH] net: Ignore sysfs network device rename bugs. The generic networking code ensures that no two networking devices have the same name, so there is no time except when sysfs has implementation bugs that device_rename when called from dev_change_name will fail. The current error handling for errors from device_rename in dev_change_name is wrong and results in an unusable and unrecoverable network device if device_rename is happens to return an error. This patch removes the buggy error handling. Which confines the mess when device_rename hits a problem to sysfs, instead of propagating it the rest of the network stack. Making linux a little more robust. Without this patch you can observe what happens when sysfs has a bug when CONFIG_SYSFS_DEPRECATED is not set and you attempt to rename a real network device to a name like (broken_parity_status, device, modalias, power, resource2, subsystem_vendor, class, driver, irq, msi_bus, resource, subsystem, uevent, config, enable, local_cpus, numa_node, resource0, subsystem_device, vendor) Greg has a patch that fixes the sysfs bugs but he doesn't trust it for a 2.6.21 timeframe. This patch which just ignores errors should be safe and it keeps the system from going completely wacky. Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit e94a40c508dbdce872c79a13b35830c050d71e23 Author: David Howells Date: Mon Apr 2 23:46:28 2007 +0100 [PATCH] SLAB: Mention slab name when listing corrupt objects Mention the slab name when listing corrupt objects. Although the function that released the memory is mentioned, that is frequently ambiguous as such functions often release several pieces of memory. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 36e337d0244ddcf4317f7d7c1144b9adfc8e5e3a Author: Robert Hancock Date: Mon Apr 2 22:05:29 2007 -0600 [PATCH] libata: add NCQ blacklist entries from Silicon Image Windows driver (v2) This adds some NCQ blacklist entries taken from the Silicon Image 3124/3132 Windows driver .inf files. There are some confirming reports of problems with these drives under Linux (for example http://lkml.org/lkml/2007/3/4/178) so let's disable NCQ on these drives. [ I'm personally starting to wonder whether we shouldn't disable NCQ by default, and perhaps have a white-list. There seems to be a *lot* of drives that do this wrong.. - Linus ] Signed-off-by: Robert Hancock Acked-by: Tejun Heo Signed-off-by: Linus Torvalds commit 8c3ce5bece2e6e233c1d05b460883046d020fbf9 Author: Cornelia Huck Date: Wed Apr 4 14:37:11 2007 +0200 [S390] cio: Fix handling of interrupt for csch(). Wipe internal irb if the clear function bit is set before accumulating bits from the irb in order to follow hardware behaviour. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6e1beb3c22496f6e1f1feba8ae74da16f131684c Author: Martin Schwidefsky Date: Wed Apr 4 14:37:10 2007 +0200 [S390] page_mkclean data corruption. The git commit c2fda5fed81eea077363b285b66eafce20dfd45a which added the page_test_and_clear_dirty call to page_mkclean and the git commit 7658cc289288b8ae7dd2c2224549a048431222b3 which fixes the "nasty and subtle race in shared mmap'ed page writeback" problem in clear_page_dirty_for_io cause data corruption on s390. The effect of the two changes is that for every call to clear_page_dirty_for_io a page_test_and_clear_dirty is done. If the per page dirty bit is set set_page_dirty is called. Strangly clear_page_dirty_for_io is called for not-uptodate pages, e.g. over this call-chain: [<000000000007c0f2>] clear_page_dirty_for_io+0x12a/0x130 [<000000000007c494>] generic_writepages+0x258/0x3e0 [<000000000007c692>] do_writepages+0x76/0x7c [<00000000000c7a26>] __writeback_single_inode+0xba/0x3e4 [<00000000000c831a>] sync_sb_inodes+0x23e/0x398 [<00000000000c8802>] writeback_inodes+0x12e/0x140 [<000000000007b9ee>] wb_kupdate+0xd2/0x178 [<000000000007cca2>] pdflush+0x162/0x23c The bad news now is that page_test_and_clear_dirty might claim that a not-uptodate page is dirty since SetPageUptodate which resets the per page dirty bit has not yet been called. The page writeback that follows clobbers the data on disk. The simplest solution to this problem is to move the call to page_test_and_clear_dirty under the "if (page_mapped(page))". If a file backed page is mapped it is uptodate. Signed-off-by: Martin Schwidefsky commit 6f23a31d1cbe791a1ce86ffa9b23251ab0a1ef45 Author: Albert Lee Date: Mon Apr 2 11:39:25 2007 +0800 libata: Limit ATAPI DMA to R/W commands only for TORiSAN DVD drives (take 3) patch 4/4: Limit ATAPI DMA to R/W commands only for TORiSAN DRD-N216 DVD-ROM drives (http://bugzilla.kernel.org/show_bug.cgi?id=6710) Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 18d6e9d51891f91af4e7351cbab3cb180bb9f430 Author: Albert Lee Date: Mon Apr 2 11:34:15 2007 +0800 libata: Limit max sector to 128 for TORiSAN DVD drives (take 3) patch 3/4: The TORiSAN drive locks up when max sector == 256. Limit max sector to 128 for the TORiSAN DRD-N216 drives. (http://bugzilla.kernel.org/show_bug.cgi?id=6710) Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 56287768e31268969abd94b38b931a29d1ced1ce Author: Albert Lee Date: Mon Apr 2 11:30:46 2007 +0800 libata: Clear tf before doing request sense (take 3) patch 2/4: Clear tf before doing request sense. This fixes the AOpen 56X/AKH timeout problem. (http://bugzilla.kernel.org/show_bug.cgi?id=8244) Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 7152764700559b6a4041fdaba345df9a5cd962f0 Author: Albert Lee Date: Mon Apr 2 11:28:52 2007 +0800 libata: reorder HSM_ST_FIRST for easier decoding (take 3) patch 1/4: Reorder HSM_ST_FIRST, such that the task state transition is easier decoded with human eyes. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 277239f228654fc03affdf2aa0e7a3969f420415 Author: Mark Lord Date: Fri Mar 30 17:45:52 2007 -0400 libata bugfix: preserve LBA bit for HDIO_DRIVE_TASK Preserve the LBA bit in the DevSel/Head register for HDIO_DRIVE_TASK. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 4742d54fa4b391342dfb8f34de14d51da101fb39 Author: Mark Lord Date: Mon Apr 2 16:20:35 2007 -0400 2.6.21 fix lba48 bug in libata fill_result_tf() Current 2.6.21 libata does the following: void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) { struct ata_ioports *ioaddr = &ap->ioaddr; tf->command = ata_check_status(ap); ... if (tf->flags & ATA_TFLAG_LBA48) { iowrite8(tf->ctl | ATA_HOB, ioaddr->ctl_addr); tf->hob_feature = ioread8(ioaddr->error_addr); ... } } ... static void fill_result_tf(struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; ap->ops->tf_read(ap, &qc->result_tf); qc->result_tf.flags = qc->tf.flags; } Based on this, those last two statements fill_result_tf() appear to me to be in the wrong order, in that the tf->flags are uninitialized at the point where tf_read() is invoked. So for lba48 commands, tf_read() won't be reading back the full lba48 register contents.. Correct? This patch corrects fill_result_tf() so that the flags get copied to result_tf before they are used by tf_read(). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1371fa6db0bbb8e23f988a641f5ae7361bc629dd Author: Francois Romieu Date: Mon Apr 2 23:01:11 2007 +0200 r8169: fix suspend/resume for down interface The PM hooks are no-op if the r8169 interface is down (i.e. !IFF_UP). However, as the chipset is enabled, the device will not work after a suspend/resume cycle. The patch always issue the required PCI suspend sequence and removes the module unload/reload workaround. Signed-off-by: Arnaud Patard Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 99f252b097a3bd6280047ba2175b605671da4a23 Author: Francois Romieu Date: Mon Apr 2 22:59:59 2007 +0200 r8169: issue request_irq after the private data are completely initialized The irq handler schedules a NAPI poll request unconditionally as soon as the status register is not clean. It has been there - and wrong - for ages but a recent timing change made it apparently easier to trigger. Signed-off-by: Francois Romieu Cc: Jay Cliburn Signed-off-by: Jeff Garzik commit cda22aa94d3fe3942476b3652b8b92c653b96ee3 Author: Bill Helfinstine Date: Sun Apr 1 13:10:28 2007 -0400 b44: fix IFF_ALLMULTI handling of CAM slots If you set the IFF_ALLMULTI flag on a b44 device, or if you join more than B44_MCAST_TABLE_SIZE multicast groups, the device will stop receiving unicast messages. This is because the __b44_set_mac_addr call sets the zeroth CAM entry to the MAC address of the device, and then the loop at line 1722 proceeds to overwrite it unless the value of i is set by the __b44_load_mcast call. However, when IFF_ALLMULTI is set, that call is bypassed, leaving i set to zero. Fixed by starting the loop at 1 to make it skip the CAM entry for the MAC address. Signed-off-by: Bill Helfinstine Signed-off-by: Jeff Garzik commit 7f672cf5b2382310d530469f1f78f69bf48adedc Author: Divy Le Ray Date: Sat Mar 31 00:23:30 2007 -0700 cxgb3 - Firwmare update Introduce FW micro version. Bump up FW version to 3.3.0 Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 6d6dabac382604db22ff51c5e0d25af18529ac8b Author: Divy Le Ray Date: Sat Mar 31 00:23:24 2007 -0700 cxgb3 - Tighten xgmac workaround Run the watchdog task when the link is up. Flush the XGMAC Tx FIFO when the link drops. Also remove a statistics update that should have gone in the previous modification of xgmac.c. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 8ac3ba68e25a73594646ec30b7c482b364644c92 Author: Divy Le Ray Date: Sat Mar 31 00:23:19 2007 -0700 cxgb3 - detect NIC only adapters Differentiate NIC only adapters from RNICs. Initialize offload capabilities for RNICs only. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 9f238486f5438b2e44f760b11fa3a08714c1ddb6 Author: Divy Le Ray Date: Sat Mar 31 00:23:13 2007 -0700 cxgb3 - Safeguard TCAM size usage Ensure that the TCAM active region size is at least 16. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 348e3fd19487534d9d4dd70c3ad0b751afd35792 Author: Eric W. Biederman Date: Tue Apr 3 01:41:49 2007 -0600 [PATCH] msi: synchronously mask and unmask msi-x irqs. This is a simplified and actually more comprehensive form of a bug fix from Mitch Williams . When we mask or unmask a msi-x irqs the writes may be posted because we are writing to memory mapped region. This means the mask and unmask don't happen immediately but at some unspecified time in the future. Which is out of sync with how the mask/unmask logic work for ioapic irqs. The practical result is that we get very subtle and hard to track down irq migration bugs. This patch performs a read flush after writes to the MSI-X table for mask and unmask operations. Since the SMP affinity is set while the interrupt is masked, and since it's unmasked immediately after, no additional flushes are required in the various affinity setting routines. The testing by Mitch Williams on his especially problematic system should still be valid as I have only simplified the code, not changed the functionality. We currently have 7 drivers: cciss, mthca, cxgb3, forceth, s2io, pcie/portdrv_core, and qla2xxx in 2.6.21 that are affected by this problem when the hardware they driver is plugged into the right slot. Given the difficulty of reproducing this bug and tracing it down to anything that even remotely resembles a cause, even if people are being affected we aren't likely to see many meaningful bug reports, and the people who see this bug aren't likely to be able to reproduce this bug in a timely fashion. So it is best to get this problem fixed as soon as we can so people don't have problems. Then if people do have a kernel message stating "No irq for vector" we will know it is yet another novel cause that needs a complete new investigation. Cc: Greg KH Cc: Andrew Morton Signed-off-by: "Eric W. Biederman" Acked-by: Mitch Williams Acked-by: "Siddha, Suresh B" Signed-off-by: Linus Torvalds commit 8cc574a3c5cea70229f243a6b57fd69e60491d82 Author: David S. Miller Date: Mon Apr 2 14:21:55 2007 -0700 [SCSI]: Fix scsi_send_eh_cmnd scatterlist handling This fixes a regression caused by commit: 2dc611de5a3fd955cd0298c50691d4c05046db97 The sense buffer code in scsi_send_eh_cmnd was changed to use alloc_page() and a scatter list, but the sense data copy was not updated to match so what we actually get in the sense buffer is total grabage starting with the kernel address of the struct page we got. Basically the stack frame of scsi_send_eh_cmd() is what ends up in the sense buffer. Depending upon how pointers look on a given platform, you can end up getting sr_ioctl.c errors when you mount a cdrom. If the CDROM gives a check condition for GPCMD_GET_CONFIGURATION issued by drivers/cdrom/cdrom.c:cdrom_mmc_profile(), sr_ioctl will spit out this error message in sr_do_ioctl() with the way pointers are on sparc64: default: printk(KERN_ERR "%s: CDROM (ioctl) error, command: ", cd->cdi.name); __scsi_print_command(cgc->cmd); scsi_print_sense_hdr("sr", &sshdr); err = -EIO; This is the error Tom Callaway reported in: http://marc.info/?l=linux-sparc&m=117407453208101&w=2 Anyways, fix this by using page_address(sgl.page) which is OK because we know this is low-mem due to GFP_ATOMIC. Signed-off-by: David S. Miller Acked-by: Christoph Hellwig commit d80f0a4beb15d817bfbb18a29e5ffc1d9dc353ea Author: Robert Reif Date: Wed Mar 28 14:21:08 2007 -0700 [SPARC]: Add unsigned to unused bit field in a.out.h Add unsigned to unused bit field in a.out.h to make sparse happy. [ I took care of the sparc64 side as well -DaveM ] Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 84565070e442583ec67fb08a5962c80203e491c3 Author: John Heffner Date: Mon Apr 2 13:56:32 2007 -0700 [TCP]: Do receiver-side SWS avoidance for rcvbuf < MSS. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit c873879c4db31bab414655e191cf56019b48c751 Author: Michael Chan Date: Fri Mar 30 14:53:06 2007 -0700 [BNX2]: Fix nvram write logic. The nvram dword alignment logic was broken when writing less than 4 bytes on a non-aligned offset. It was missing logic to round the length to 4 bytes. The page erase code is also moved so that it is only called when using non-buffered flash for better code clarity. Update version to 1.5.7. Based on initial patch from Tony Cureington . Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b59e139bbd5c789700aa9cefe7eb6590bc516b86 Author: YOSHIFUJI Hideaki Date: Fri Mar 30 14:45:35 2007 -0700 [IPv6]: Fix incorrect length check in rawv6_sendmsg() In article <20070329.142644.70222545.davem@davemloft.net> (at Thu, 29 Mar 2007 14:26:44 -0700 (PDT)), David Miller says: > From: Sridhar Samudrala > Date: Thu, 29 Mar 2007 14:17:28 -0700 > > > The check for length in rawv6_sendmsg() is incorrect. > > As len is an unsigned int, (len < 0) will never be TRUE. > > I think checking for IPV6_MAXPLEN(65535) is better. > > > > Is it possible to send ipv6 jumbo packets using raw > > sockets? If so, we can remove this check. > > I don't see why such a limitation against jumbo would exist, > does anyone else? > > Thanks for catching this Sridhar. A good compiler should simply > fail to compile "if (x < 0)" when 'x' is an unsigned type, don't > you think :-) Dave, we use "int" for returning value, so we should fix this anyway, IMHO; we should not allow len > INT_MAX. Signed-off-by: YOSHIFUJI Hideaki Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 31ba548f9683c5c5809567549b404404b6017088 Author: Patrick McHardy Date: Fri Mar 30 13:36:23 2007 -0700 [NET_SCHED]: cls_basic: fix memory leak in basic_destroy tp->root is not freed on destruction. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 83886b6b636173b206f475929e58fac75c6f2446 Author: Steven Whitehouse Date: Fri Mar 30 13:34:27 2007 -0700 [NET]: Change "not found" return value for rule lookup This changes the "not found" error return for the lookup function to -ESRCH so that it can be distinguished from the case where a rule or route resulting in -ENETUNREACH has been found during the search. It fixes a bug where if DECnet was compiled with routing support, but no routes were added to the routing table, it was failing to fall back to endnode routing. Signed-off-by: Steven Whitehouse Signed-off-by: Patrick Caulfield Signed-off-by: David S. Miller commit b6a8b316c667f914c198a2de62e6729f359b7931 Author: Thomas Gleixner Date: Mon Apr 2 14:25:31 2007 +0200 [PATCH] i386: fix file_read_actor() and pipe_read() for original i386 systems The __copy_to_user_inatomic() calls in file_read_actor() and pipe_read() are broken on original i386 machines, where WP-works-ok == false, as __copy_to_user_inatomic() on such systems calls functions which might sleep and/or contain cond_resched() calls inside of a kmap_atomic() region. The original check for WP-works-ok was in access_ok(), but got moved during the 2.5 series to fix a race vs. swap. Return the number of bytes to copy in the case where we are in an atomic region, so the non atomic code pathes in file_read_actor() and pipe_read() are taken. This could be optimized to avoid the kmap_atomicby moving the check for WP-works-ok into fault_in_pages_writeable(), but this is more intrusive and can be done later. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f991519c197534811046e5e47389b6fafcdf1e48 Author: Michal Januszewski Date: Sun Apr 1 23:49:51 2007 -0700 [PATCH] vt: fix potential race in VT_WAITACTIVE handler On a multiprocessor machine the VT_WAITACTIVE ioctl call may return 0 if fg_console has already been updated in redraw_screen() but the console switch itself hasn't been completed. Fix this by checking fg_console in vt_waitactive() with the console sem held. Signed-off-by: Michal Januszewski Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d64b9cb1dc2a7cd521444e3d908adeccd026356 Author: Rafael J. Wysocki Date: Sun Apr 1 23:49:49 2007 -0700 [PATCH] Fix microcode-related suspend problem Fix the regression resulting from the recent change of suspend code ordering that causes systems based on Intel x86 CPUs using the microcode driver to hang during the resume. The problem occurs since the microcode driver uses request_firmware() in its CPU hotplug notifier, which is called after tasks has been frozen and hangs. It can be fixed by telling the microcode driver to use the microcode stored in memory during the resume instead of trying to load it from disk. Signed-off-by: Rafael J. Wysocki Adrian Bunk Cc: Tigran Aivazian Cc: Pavel Machek Cc: Maxim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c84ce268b69855919b6ac7edc8f11caf21e9c88 Author: Kay Sievers Date: Sun Apr 1 23:49:48 2007 -0700 [PATCH] driver core: fix built-in drivers sysfs links built-in drivers had broken sysfs links that caused bootup hangs for certain driver unregistry sequences. Signed-off-by: Ingo Molnar Acked-by: Kay Sievers Signed-off-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcd9b89c02295b075fda4bdb666f6641f8212226 Author: David Brownell Date: Sun Apr 1 23:49:47 2007 -0700 [PATCH] rtc-cmos lockdep fix, irq updates Lockdep reported cmos_suspend() and cmos_resume() calling rtc_update_irq() with IRQs enabled; not allowed. Also fix problems seen on some hardware, whereby false alarm IRQs could be reported (primarily to userspace); and update two comments to match changes in ACPI. Those make up most of this patch, by volume. Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2b091dbfb355d0cd35756c6ace0988c9855f3f7 Author: Petr Vandrovec Date: Sun Apr 1 23:49:46 2007 -0700 [PATCH] Correctly report PnP 64bit resources Change PnP resource handling code to use proper type for resource start and length. Fixes bogus regions reported in /proc/iomem. I've also made some pointer constant, as they are constant... Signed-off-by: Petr Vandrovec Cc: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7479d2b90b103f84d956a7177b3f99cbd472b345 Author: Andrew Morton Date: Sun Apr 1 23:49:44 2007 -0700 [PATCH] revert "retries in ext4_prepare_write() violate ordering requirements" Revert b46be05004abb419e303e66e143eed9f8a6e9f3f. Same reasoning as for ext3. Cc: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Andrey Savochkin Cc: Cc: Dmitriy Monakhov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aa9b4b9bc10a0cf6e6109c2997d759a76e840e5 Author: Andrew Morton Date: Sun Apr 1 23:49:43 2007 -0700 [PATCH] revert "retries in ext3_prepare_write() violate ordering requirements" Revert e92a4d595b464c4aae64be39ca61a9ffe9c8b278. Dmitry points out "When we block_prepare_write() failed while ext3_prepare_write() we jump to "failure" label and call ext3_prepare_failure() witch search last mapped bh and invoke commit_write untill it. This is wrong!! because some bh from begining to the last mapped bh may be not uptodate. As a result we commit to disk not uptodate page content witch contains garbage from previous usage." and "Unexpected file size increasing." Call trace the same as it was in first issue but result is different. For example we have file with i_size is zero. we want write two blocks , but fs has only one free block. ->ext3_prepare_write(...from == 0, to == 2048) retry: ->block_prepare_write() == -ENOSPC# we failed but allocated one block here. ->ext3_prepare_failure() ->commit_write( from == 0, to == 1024) # after this i_size becomes 1024 :) if (ret == -ENOSPC && ext3_should_retry_alloc(inode->i_sb, &retries)) goto retry; Finally when all retries will be spended ext3_prepare_failure return -ENOSPC, but i_size was increased and later block trimm procedures can't help here. We don't appear to have the horsepower to fix these issues, so let's put things back the way they were for now. Cc: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Andrey Savochkin Cc: Cc: Dmitriy Monakhov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03221702608c60b470fc86a23bdf4bc30e5bd59f Author: Brian Pomerantz Date: Sun Apr 1 23:49:41 2007 -0700 [PATCH] fix page leak during core dump When the dump cannot occur most likely because of a full file system and the page to be written is the zero page, the call to page_cache_release() is missed. Signed-off-by: Brian Pomerantz Cc: Hugh Dickins Cc: Nick Piggin Cc: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2400ff77e7025bf6ffb71afdcbfbdd9aa47dfc36 Author: Simon Horman Date: Sun Apr 1 23:49:40 2007 -0700 [PATCH] CPUSETS: add mems to basic usage documentation It seems that there must be at least one node in mems and at least one CPU in cpus in order to be able to assign tasks to a cpuset. This makes sense. And I think it would also make sense to include a mems setting in the basic usage section of the documentation. I also wonder if something logged to dmsg, explaining why a write failed, would be a good enhancement. I ended up having rummage arround in cpuset.c in order to work out why my configuration was failing. Signed-off-by: Simon Horman Acked-by: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf703c3f199342da440a30798b6120f391741ffe Author: Adrian Bunk Date: Sun Apr 1 23:49:38 2007 -0700 [PATCH] drivers/mfd/sm501.c: fix an off-by-one Fix an off-by-one spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Ben Dooks Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10fa1155a2c3282f421a74fedfad1957e8bdc86c Author: Paolo 'Blaisorblade' Giarrusso Date: Sun Apr 1 23:49:37 2007 -0700 [PATCH] uml: fix unreasonably long udelay Currently we have a confused udelay implementation. * __const_udelay does not accept usecs but xloops in i386 and x86_64 * our implementation requires usecs as arg * it gets a xloops count when called by asm/arch/delay.h Bugs related to this (extremely long shutdown times) where reported by some x86_64 users, especially using Device Mapper. To hit this bug, a compile-time constant time parameter must be passed - that's why UML seems to work most times. Fix this with a simple udelay implementation. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05565b65a5309e3e5c86db1975b57f75661bee8f Author: Andrew Morton Date: Sun Apr 1 23:49:35 2007 -0700 [PATCH] proc: fix linkage with CONFIG_SYSCTL=y, CONFIG_PROC_SYSCTL=n We're using #ifdef CONFIG_SYSCTL, but we should be using CONFIG_PROC_SYSCTL, so we get fs/built-in.o: In function `proc_root_init': /usr/src/linux/fs/proc/root.c:83: undefined reference to `proc_sys_init' Fix that up and remove an ifdef-in-C. Cc: "Eric W. Biederman" Cc: Helge Hafting Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1489f90a49f0603a393e1800d729050f6e332bec Author: Andreas Oberritter Date: Mon Apr 2 10:44:35 2007 -0300 V4L/DVB (5496): Pluto2: fix incorrect TSCR register setting The ADEF bits in the TSCR register have different meanings in read and write mode. For this reason ADEF has to be reset on every read-modify-write operation. This patch introduces a special write function for this register, which takes care of it. Thanks to Holger Magnussen for pointing my nose at this problem. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit d420cb44693b8370cbf06c3e31b4b5dec66c9f86 Author: Andreas Oberritter Date: Sun Apr 1 19:29:16 2007 -0300 V4L/DVB (5495): Tda10086: fix DiSEqC message length Setting the message length to zero means to send one byte, so you need a subtraction instead of an addition. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit a369a7100da3b4f5c2269be25160653d2c7013fc Author: Zwane Mwaikambo Date: Mon Apr 2 12:14:12 2007 +0200 [PATCH] x86: Don't probe for DDC on VBE1.2 VBE1.2 doesn't support function 15h (DDC) resulting in a 'hang' whilst uncompressing kernel with some video cards. Make sure we check VBE version before fiddling around with DDC. http://bugzilla.kernel.org/show_bug.cgi?id=1458 Opened: 2003-10-30 09:12 Last update: 2007-02-13 22:03 Much thanks to Tobias Hain for help in testing and investigating the bug. Tested on; i386, Chips & Technologies 65548 VESA VBE 1.2 CONFIG_VIDEO_SELECT=Y CONFIG_FIRMWARE_EDID=Y Untested on x86_64. Signed-off-by: Zwane Mwaikambo Signed-off-by: Andi Kleen commit 0fb2ebfcb5f0b1916ed5ff260ec953ef616fec7c Author: Andi Kleen Date: Mon Apr 2 12:14:12 2007 +0200 [PATCH] x86-64: Increase NMI watchdog probing timeout A 4 core Opteron needs longer than 10 ticks for this. Signed-off-by: Andi Kleen commit 89e07569e4e4e935b2cec18e9d94f131aecb2e40 Author: Andi Kleen Date: Mon Apr 2 12:14:12 2007 +0200 [PATCH] x86-64: Let oprofile reserve MSR on all CPUs The MSR reservation is per CPU and oprofile would only allocate them on the CPU it was initialized on. Change this to handle all CPUs. This also fixes a warning about unprotected use of smp_processor_id() in preemptible kernels. Signed-off-by: Andi Kleen commit 3556ddfa9284a86a59a9b78fe5894430f6ab4eef Author: Andi Kleen Date: Mon Apr 2 12:14:12 2007 +0200 [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E AMD dual core laptops with C1E do not run the APIC timer correctly when they go idle. Previously the code assumed this only happened on C2 or deeper. But not all of these systems report support C2. Use a AMD supplied snippet to detect C1E being enabled and then disable local apic timer use. This supercedes an earlier workaround using DMI detection of specific systems. Thanks to Mark Langsdorf for the detection snippet. Signed-off-by: Andi Kleen commit 398e692fd5cecdd25d311b47bbae69f7bac3a3cb Author: Lennert Buytenhek Date: Sat Mar 31 12:03:20 2007 +0100 [ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms This patch: - Switches mb/rmb/wmb back to being full-blown DMBs on ARM SMP systems, since mb/rmb/wmb are required to order Normal memory accesses as well. - Enables the use of DMB and ISB on XSC3 (which is an ARMv5TE ISA core but conforms to the ARMv6 memory ordering model and supports the various ARMv6 barriers.) - Makes DMA coherent platforms (only ixp23xx at the moment) map mb/rmb/wmb to dmb(), as on DMA coherent platforms, DMA consistent mappings are done as Normal mappings, which are weakly ordered. Signed-off-by: Lennert Buytenhek Acked-by: David Howells Acked-by: Catalin Marinas Acked-by: Paul E. McKenney Acked-by: Dan Williams Signed-off-by: Russell King commit 9a4d93d49d140c196020a1bae339efcf211cac03 Author: Guennadi Liakhovetski Date: Fri Mar 30 08:49:55 2007 +0100 [ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2) This patch addresses the following issues with the pxa2xx FIr driver: 1. increment overrun error counter and not frame error counter on ICSR1_ROR bit set in ICSR1. 2. drop frames reported with the frame error from the IC. 3. when resetting the receiver and preparing it for the next DMA in pxa_irda_fir_irq() actually clear the Rx FIFO. See description in Table 11-2 in PXA270 Developer's Manual of the RXE bit. Correction added in version 2: clearing the IC Rx FIFO also has to be done in pxa_irda_fir_dma_tx_irq() Signed-off-by: G. Liakhovetski Signed-off-by: Russell King commit 6c330ba72c45007a9ef681396925c22d11029008 Author: Russell King Date: Sun Apr 1 22:35:01 2007 +0100 [ARM] Fix __NR_kexec_load It's __NR_kexec_load, not __NR_sys_kexec_load Signed-off-by: Russell King commit c21b1e4d9b0c263a35f67eed2b025d053566c557 Author: Jan Beulich Date: Thu Mar 29 10:27:14 2007 +0100 [PATCH] kbuild: fix dependency generation Commit 2e3646e51b2d6415549b310655df63e7e0d7a080 changed the way the split config tree is built, but failed to also adjust fixdep accordingly - if changing a config option from or to m, files referencing the respective CONFIG_..._MODULE (but not the corresponding CONFIG_...) didn't get rebuilt. The problem is that trisate symbol are represent with three different symbols: SYMBOL=n => no symbol defined SYMBOL=y => CONFIG_SYMBOL defined to '1' SYMBOL=m => CONFIG_SYMBOL_MODULE defined to '1' But conf_split_config do not distingush between the =y and =m case, so only the =y case is honoured. This is fixed in fixdep so when a CONFIG symbol with _MODULE is found we skip that part and only look for the CONFIG_SYMBOL version. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit f5ef2abcbeb5b0be23f7cc610a024b2406e3d8e6 Author: Linus Torvalds Date: Sun Apr 1 10:54:13 2007 -0700 driver core: do not wait unnecessarily in driver_unregister() Ingo reported that built-in drivers suffered bootup hangs with certain driver unregistry sequences, due to sysfs breakage. Do the minimal fix for v2.6.21: only wait if the driver is a module. Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ec14d7964bc3c89fb24c95af00d39033afc32f8e Author: Russell King Date: Sat Mar 31 21:36:53 2007 +0100 [ARM] Export dma_channel_active() dma_channel_active() is used by some modules and is part of our DMA API, so export it. Signed-off-by: Russell King commit 9f1167272890c210399e6b8a32d7cf7295713f5d Author: Herbert Xu Date: Sat Mar 31 12:58:20 2007 +1000 [CRYPTO] api: Flush the current page right than the next On platforms where flush_dcache_page is needed we're currently flushing the next page right than the one we've just processed. This patch fixes the off-by-one error. Signed-off-by: Herbert Xu commit beff804d8dd360ccb4dd0096c9fd77a93fe9049e Author: Herbert Xu Date: Sat Mar 31 12:14:37 2007 +1000 [PATCH] crypto api: Use the right value when advancing scatterwalk_copychunks In the scatterwalk_copychunks loop, We should be advancing by len_this_page and not nbytes. The latter is the total length. Signed-off-by: Herbert Xu Signed-off-by: Linus Torvalds commit c35e584c087381aaa5f1ed40a28b978535c18fb2 Author: Paolo 'Blaisorblade' Giarrusso Date: Sat Mar 31 03:20:27 2007 +0200 [PATCH] uml: fix static linking for real There was a typo in commit 7632fc8f809a97f9d82ce125e8e3e579390ce2e5, preventing it from working - 32bit binaries crashed hopelessly before the below fix and work perfectly now. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Linus Torvalds commit 4ee531a3e661207d4b2174486b0f86017a3adb82 Author: Herbert Xu Date: Sat Mar 31 12:16:20 2007 +1000 [CRYPTO] api: Use the right value when advancing scatterwalk_copychunks In the scatterwalk_copychunks loop, We should be advancing by len_this_page and not nbytes. The latter is the total length. Signed-off-by: Herbert Xu commit 4e381a4f06e3c7b350b55a2636b9d45691780eba Author: Len Brown Date: Fri Mar 30 14:16:10 2007 -0400 Revert "ACPI: parse 2nd MADT by default" This reverts commit 09fe58356d148ff66901ddf639e725ca1a48a0af. http://bugzilla.kernel.org/show_bug.cgi?id=8283 Signed-off-by: Len Brown commit 964429252a88cbb4eccd9f024a00813e10d16c71 Author: Jens Axboe Date: Fri Mar 30 09:27:58 2007 +0200 [PATCH] Maxtor 6B250S0/BANC1B70 hangs with NCQ I've seen this several times on this drive, completely reproducible. Once it has hung, power needs to be cut from the drive to recover it, a simple reboot is not enough. So I'd suggest disabling NCQ on this drive. Signed-off-by: Jens Axboe Acked-by: Tejun Heo Signed-off-by: Linus Torvalds commit 6b8777b46823fb0b42fba69b5311682124e5a71c Author: Vladimir Barinov Date: Thu Mar 29 16:29:20 2007 +0100 [ARM] 4296/1: ixp4xx: compile fix Fix compilation fail for ixp4xx platforms for the case when CONFIG_IXP4XX_INDIRECT_PCI is set. That is due to the check_signature() is appeared in include/linux/io.h. Signed-off-by: Vladimir Barinov Signed-off-by: Russell King commit 8a1e97ee2e025f116765c92409a3cf8f6cb07ad6 Author: Ralf Baechle Date: Thu Mar 29 23:42:42 2007 +0100 [MIPS] SMTC: Fix recursion in instant IPI replay code. local_irq_restore -> raw_local_irq_restore -> irq_restore_epilog -> smtc_ipi_replay -> smtc_ipi_dq -> spin_unlock_irqrestore -> _spin_unlock_irqrestore -> local_irq_restore The recursion does abort when there is no more IPI queued for a CPU, so this isn't usually fatal which is why we got away with this for so long until this was discovered by code inspection. Signed-off-by: Ralf Baechle commit 6c9fde4bfff11b2fd93b4e518ae7ecb25a9244e4 Author: Mark Mason Date: Mon Mar 26 13:28:26 2007 -0700 [MIPS] BCM1480: Fix setting of irq affinity. Signed-off-by: Mark Mason Signed-off-by: Ralf Baechle commit d6f703602fee8f8bd5c108af927a420cb8cb0d36 Author: Ralf Baechle Date: Thu Mar 29 22:30:01 2007 +0100 [MIPS] do_page_fault() needs to use raw_smp_processor_id(). Original patch posted by Deepak Saxena . Signed-off-by: Ralf Baechle commit 20bb25d10fe5569df8f3f186a36e5548582854d9 Author: Ralf Baechle Date: Tue Mar 27 15:19:58 2007 +0100 [MIPS] SMTC: Fix false trigger of debug code on single VPE. Make smtc_setup_irq() update the list of interrupts which need to be watched by the debug code itself. Also there is no need to initialize the IPI swint when running with a single VPE, so don't initialize it. Signed-off-by: Ralf Baechle commit ae036b790891565c5b4b64e616ed497138d1f8d6 Author: Ralf Baechle Date: Tue Mar 27 15:11:54 2007 +0100 [MIPS] SMTC: irq_{enter,leave} and kstats keeping for relayed timer ints. Signed-off-by: Ralf Baechle commit fe99f1b184efb75c50dd8cbdfff99b559c2cb3b3 Author: Chris Dearman Date: Mon Mar 26 14:48:50 2007 +0100 [MIPS] lockdep: Deal with interrupt disable hazard in TRACE_IRQFLAGS Between the mtc0 or di instruction that disables interrupts and the following hazard barrier a processor may still take interrupts. If an interrupt is taken after interrupts are disabled but before the state is updated it will appear to restore_all that it is incorrectly returning with interrupts disabled. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit cbde5ebc972c0577741a69c85d5e5afad19d813b Author: Chris Dearman Date: Mon Mar 26 14:47:06 2007 +0100 [MIPS] lockdep: Handle interrupts in R3000 style c0_status register. Check the IEP bit for R3000 style processors when checking to see if interrupts will be reenabled in restore_all. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit eb541cb24078eae83b9ef0573af36347d8dc01ee Author: Ralf Baechle Date: Mon Mar 26 09:30:32 2007 +0100 [MIPS] MV64340: Add missing prototype for mv64340_irq_init(). Signed-off-by: Ralf Baechle commit 619af723ac1fe75262441453c9d35870593822e2 Author: Ralf Baechle Date: Mon Mar 26 15:13:57 2007 +0100 [MIPS] MT: MIPS_MT_SMTC_INSTANT_REPLAY currently conflicts with PREEMPT. So until MIPS_MT_SMTC_INSTANT_REPLAY has been rewritten to solve this issue, don't allow selecting it with PREEMPT. Signed-off-by: Ralf Baechle commit af2944ac5488f8d7e5f109f8a55f98d072ec377c Author: Ralf Baechle Date: Mon Mar 26 09:22:00 2007 +0100 [MIPS] EV64120: Include to fix warning. arch/mips/pci/pci-ev64120.c:10: warning: implicit declaration of function 'allocate_irqno' Signed-off-by: Ralf Baechle commit 9486d594baf268e46a01ada5c8c50dcf5d066748 Author: Ralf Baechle Date: Mon Mar 26 09:14:24 2007 +0100 [MIPS] Ocelot: Fix warning. Remove unused variable. Signed-off-by: Ralf Baechle commit 448f283c11ac66793c7231bcbd729a417a9f9a04 Author: Ralf Baechle Date: Mon Mar 26 08:59:52 2007 +0100 [MIPS] Ocelot: Give PMON_v1_setup a proper prototype. Signed-off-by: Ralf Baechle commit dbfc2f6f95c7e62b9a379d9a34f8427f1d844ee1 Author: Tony Luck Date: Thu Mar 29 15:41:37 2007 -0700 [IA64] Fix arch/ia64/pci/pci.c:571: warning: `return' with a value Typo/thinko in bba6f6fc68e74d4572028646f61dd3505a68747e Signed-off-by: Tony Luck commit ead6caae1e52a982bf09137c9b5382e9e2d52fdb Author: Jack Steiner Date: Tue Mar 27 14:30:19 2007 -0500 [IA64] Speed up boot - skip unnecessary clock calibration Skip clock calibration if cpu being brought online is exactly the same speed, stepping, etc., as the previous cpu. This significantly reduces the time to boot very large systems. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 83d2cd3de48a7fb73838c45145780cfa9b1f61fd Author: KAMEZAWA Hiroyuki Date: Fri Mar 23 12:17:46 2007 +0900 [IA64] bugfix stack layout upside-down ia64 expects following vm layout: == low memory [register-stack grows up] [memory-stack grows down] == high memory But the code assigns the base of the register stack at the maximum stack size offset from the fixed address where the stack *might* start. Stack randomization will result in the memory stack starting at a lower address than this, and if the user has set a low stack limit with "ulimit -s", then you can end up with the register stack above the memory stack (or if you were very unlucky right on top of it!). Fix: Calculate the base address for the register stack starting from the actual address of the memory stack. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Tony Luck commit 8a3a0ee736b9a0150c9d894f2c6cc836a62125a1 Author: Kenji Kaneshige Date: Mon Mar 26 09:38:42 2007 +0900 [IA64] Fix possible invalid memory access in ia64_setup_msi_irq() The following 'if' statement in ia64_setup_msi_irq() always fails even if create_irq() returns <0 value, because variable 'irq' is defined as unsigned int. It would cause invalid memory access. irq = create_irq(); if (irq < 0) return irq; Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 297640e89ea21e314bdda45468e5f78c978dae16 Author: Timur Tabi Date: Mon Mar 26 14:25:42 2007 -0500 [POWERPC] qe: ucc_slow.guemr is in the wrong place The definition of struct ucc_slow puts the guemr register immediately after the utpt register, when it should be at offset 0x90. This patch adds the missing 0x52-byte padding. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 7f013bc9d05825b19433bc0deb1f5f4d2103726e Author: Chuck Meade Date: Tue Mar 27 10:46:10 2007 -0400 [POWERPC] qe: Fix QUICC Engine SDMA setup errors Correct the alignment of the internal buffer used by the QUICC Engine SDMA controller to 4Kbytes. Correct the shift direction in the logic that sets up the SDMR register for the QUICC Engine SDMA controller. Signed-off-by: Chuck Meade Signed-off-by: Kumar Gala commit c01003c20563d1e75ec9828d21743919d2b43977 Author: Patrick McHardy Date: Thu Mar 29 11:46:52 2007 -0700 [IFB]: Fix crash on input device removal The input_device pointer is not refcounted, which means the device may disappear while packets are queued, causing a crash when ifb passes packets with a stale skb->dev pointer to netif_rx(). Fix by storing the interface index instead and do a lookup where neccessary. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 399afa4fc9238fbae42116cf25a54671c0e8f56e Author: Maxim Levitsky Date: Thu Mar 29 15:46:48 2007 +0200 [PATCH] Add suspend/resume for HPET This adds support of suspend/resume on i386 for HPET, which fixes a number of timer-related failures around STR. Signed-off-by: Maxim Levitsky Acked-by: Michael S. Tsirkin Acked-by: Jeff Chua Signed-off-by: Linus Torvalds commit a76c0b976310bbb1b6eaecaaae465af194134477 Author: Carsten Otte Date: Thu Mar 29 01:20:39 2007 -0700 [PATCH] mm: fix xip issue with /dev/zero Fix the bug, that reading into xip mapping from /dev/zero fills the user page table with ZERO_PAGE() entries. Later on, xip cannot tell which pages have been ZERO_PAGE() filled by access to a sparse mapping, and which ones origin from /dev/zero. It will unmap ZERO_PAGE from all mappings when filling the sparse hole with data. xip does now use its own zeroed page for its sparse mappings. Please apply. Signed-off-by: Carsten Otte Signed-off-by: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90ed52ebe48181d3c5427b3bd1d24f659e7575ad Author: Hugh Dickins Date: Thu Mar 29 01:20:38 2007 -0700 [PATCH] holepunch: fix mmap_sem i_mutex deadlock sys_madvise has down_write of mmap_sem, then madvise_remove calls vmtruncate_range which takes i_mutex and i_alloc_sem: no, we can easily devise deadlocks from that ordering. madvise_remove drop mmap_sem while calling vmtruncate_range: luckily, since madvise_remove doesn't split or merge vmas, it's easy to handle this case with a NULL prev, without restructuring sys_madvise. (Though sad to retake mmap_sem when it's unlikely to be needed, and certainly down_read is sufficient for MADV_REMOVE, unlike the other madvices.) Signed-off-by: Hugh Dickins Cc: Miklos Szeredi Cc: Badari Pulavarty Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16a100190d39592d1d56ff5a0b978b20288c3427 Author: Hugh Dickins Date: Thu Mar 29 01:20:37 2007 -0700 [PATCH] holepunch: fix disconnected pages after second truncate shmem_truncate_range has its own truncate_inode_pages_range, to free any pages racily instantiated while it was in progress: a SHMEM_PAGEIN flag is set when this might have happened. But holepunching gets no chance to clear that flag at the start of vmtruncate_range, so it's always set (unless a truncate came just before), so holepunch almost always does this second truncate_inode_pages_range. shmem holepunch has unlikely swap<->file races hereabouts whatever we do (without a fuller rework than is fit for this release): I was going to skip the second truncate in the punch_hole case, but Miklos points out that would make holepunch correctness more vulnerable to swapoff. So keep the second truncate, but follow it by an unmap_mapping_range to eliminate the disconnected pages (freed from pagecache while still mapped in userspace) that it might have left behind. Signed-off-by: Hugh Dickins Cc: Miklos Szeredi Cc: Badari Pulavarty Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ae7000630e3c05b6f7e3dfc76472f1bca6c1788 Author: Hugh Dickins Date: Thu Mar 29 01:20:36 2007 -0700 [PATCH] holepunch: fix shmem_truncate_range punch locking Miklos Szeredi observes that during truncation of shmem page directories, info->lock is released to improve latency (after lowering i_size and next_index to exclude races); but this is quite wrong for holepunching, which receives no such protection from i_size or next_index, and is left vulnerable to races with shmem_unuse, shmem_getpage and shmem_writepage. Hold info->lock throughout when holepunching? No, any user could prevent rescheduling for far too long. Instead take info->lock just when needed: in shmem_free_swp when removing the swap entries, and whenever removing a directory page from the level above. But so long as we remove before scanning, we can safely skip taking the lock at the lower levels, except at misaligned start and end of the hole. Signed-off-by: Hugh Dickins Cc: Miklos Szeredi Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2646d1e6c8d2239d8054a7d342eb9775a1d273a Author: Hugh Dickins Date: Thu Mar 29 01:20:35 2007 -0700 [PATCH] holepunch: fix shmem_truncate_range punching too far Miklos Szeredi observes BUG_ON(!entry) in shmem_writepage() triggered in rare circumstances, because shmem_truncate_range() erroneously removes partially truncated directory pages at the end of the range: later reclaim on pages pointing to these removed directories triggers the BUG. Indeed, and it can also cause data loss beyond the hole. Fix this as in the patch proposed by Miklos, but distinguish between "limit" (how far we need to search: ignore truncation's next_index optimization in the holepunch case - if there are races it's more consistent to act on the whole range specified) and "upper_limit" (how far we can free directory pages: generally we must be careful to keep partially punched pages, but can relax at end of file - i_size being held stable by i_mutex). Signed-off-by: Hugh Dickins Cc: Miklos Szeredi Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96fac9dc95b91fc198bfbf4ba90263b06eff023d Author: Ralf Baechle Date: Thu Mar 29 01:20:34 2007 -0700 [PATCH] Wire up DEC serial drivers in Kconfig Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35dc8457822aedbc89afa9f69e7fa494b3da7b02 Author: Tilman Schmidt Date: Thu Mar 29 01:20:34 2007 -0700 [PATCH] drivers/isdn/gigaset: mark some static data as const (v2) Mark some static arrays as const that aren't and shouldn't be modified, and remove incorrect static attribute from some variables. Signed-off-by: Tilman Schmidt Signed-off-by: Hansjoerg Lipp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75e8defbe4236a358b1396bc6d9a1231e5eca225 Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Mar 29 01:20:33 2007 -0700 [PATCH] uml: hostfs variable renaming * rename name to host_root_path * rename data to req_root. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 622e696938c6a9c5357d2ec4a07ed2f27d56925a Author: Jeff Dike Date: Thu Mar 29 01:20:32 2007 -0700 [PATCH] uml: fix compilation problems Fix a few miscellaneous compilation problems - an assignment with mismatched types in ldt.c a missing include in mconsole.h which needs a definition of uml_pt_regs I missed removing an include of user_util.h in hostfs Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af84eab208916acad91f6342bbd57bc865caf150 Author: Jason Lunz Date: Thu Mar 29 01:20:31 2007 -0700 [PATCH] uml: fix LVM crash Permit lvm to create logical volumes without crashing UML. When device-mapper's DM_DEV_CREATE_CMD ioctl is called to create a new device, dev_create()->dm_create()->alloc_dev()-> blk_queue_bounce_limit(md->queue, BLK_BOUNCE_ANY) is called. blk_queue_bounce_limit(BLK_BOUNCE_ANY) calls init_emergency_isa_pool() if blk_max_pfn < blk_max_low_pfn. This is the case on UML, but init_emergency_isa_pool() hits BUG_ON(!isa_page_pool) because there doesn't seem to be a dma zone on UML for mempool_create() to allocate from. Most architectures seem to have max_low_pfn == max_pfn, but UML doesn't because of the uml_reserved chunk it keeps for itself. From what I can see, max_pfn and max_low_pfn don't get much use after the bootmem-allocator stops being used anyway, except that they initialize the block layer's blk_max_low_pfn/blk_max_pfn. This ensures init_emergency_isa_pool() doesn't crash uml in this situation by setting max_low_pfn == max_pfn in mem_init(). Signed-off-by: Jason Lunz Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3076212f8d3d9fe4d7b11c6b560c0f424edfcb4e Author: Jeff Dike Date: Thu Mar 29 01:20:30 2007 -0700 [PATCH] uml: irq locking fixes As the comment immediately preceding this points out, this list is changed in irq context, so it needs to be protected with spin_lock_irqsave in process context when it is processed. Sometimes, gcc should just compile the comments and forget the code. The IRQ side of this was better, in the sense that it blocked and unblocked interrupts, but it still should have saved and restored them. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 602ed87ecd93a857dc687afb938d2c0f45552986 Author: Miklos Szeredi Date: Thu Mar 29 01:20:29 2007 -0700 [PATCH] uml: fix pte bit collision _PAGE_PROTNONE conflicts with the lowest bit of pgoff. This causes all sorts of weirdness when nonlinear mappings are used. Took me a good half day to track this down. Signed-off-by: Miklos Szeredi Signed-off-by: Jeff Dike Acked-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d40f6d71da81deb66c4fa54b46e22977cdb8b451 Author: Jeff Dike Date: Thu Mar 29 01:20:28 2007 -0700 [PATCH] uml: fix device unplug crash Fix a NULL dereference when unplugging a device. The default value of err_msg wants to be "" in case the driver doesn't modify it. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9529a0c890007ade5425b75272c3def283f8b1 Author: Jeff Dike Date: Thu Mar 29 01:20:27 2007 -0700 [PATCH] uml: fix I/O hang when multiple devices are in use Commit 62f96cb01e8de7a5daee472e540f726db2801499 introduced per-devices queues and locks, which was fine as far as it went, but left in place a global which controlled access to submitting requests to the host. This should have been made per-device as well, since it causes I/O hangs when multiple block devices are in use. This patch fixes that by replacing the global with an activity flag in the device structure in order to tell whether the queue is currently being run. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb3fecc2f29056e89658e7eb371e7f9be66cda6d Author: Jiri Kosina Date: Thu Mar 29 01:20:25 2007 -0700 [PATCH] bluetooth hid quirks: mightymouse quirk I have a bugreport that scrollwheel of bluetooth version of apple mightymouse doesn't work. The USB version of mightymouse works, as there is a quirk for handling scrollwheel in hid/usbhid for it. Now that bluetooth git tree is hooked to generic hid layer, it could easily use the quirks which are already present in generic hid parser, hid-input, etc. Below is a simple patch against bluetooth git tree, which adds quirk handling to current bluetooth hidp code, and sets quirk flags for device 0x05ac/0x030c, which is the bluetooth version of the apple mightymouse. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6d1fc3d83317678a57db1c1deb2fc0bede73aaf Author: Salyzyn, Mark Date: Thu Mar 29 01:20:24 2007 -0700 [PATCH] adaptec MAINTAINERS updates The IPS and DPT_I2O drivers are missing, so here is my 'hand coded' addition to deal with overlap to the patch below (apply both). I selected Maintained rather than supported for the ips and dpt_i2o driver due to their legacy nature. Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e9d5730adfca26452b3a2838a80af6950556f5 Author: Eric W. Biederman Date: Wed Mar 28 23:38:16 2007 -0600 [PATCH] pid: Properly detect orphaned process groups in exit_notify In commit 0475ac0845f9295bc5f69af45f58dff2c104c8d1 when converting the orphaned process group handling to use struct pid I made a small mistake. I accidentally replaced an == with a !=. Besides just being a dumb thing to do apparently this has a bad side effect. The improper orphaned process group detection causes kwin to die after a suspend/resume cycle. I'm amazed this patch has been around as long as it has without anyone else noticing something funny going on. And the following people deserve credit for spotting and helping to reproduce this. Thanks to: Sid Boyce Thanks to: "Michael Wu" Signed-off-by: "Eric W. Biederman" Signed-off-by: Linus Torvalds commit c97beb4710bc673867207d7d729f2ace4ca1f197 Author: Yinghai Lu Date: Wed Mar 28 23:10:29 2007 -0600 [PATCH] x86_64 irq: Fix comments after changing IRQ0_VECTOR from 0x20 to 0x30 Signed-off-by: Yinghai Lu Signed-off-by: "Eric W. Biederman" Signed-off-by: Linus Torvalds commit d9993c37ef87c758d4a6e63972395b1cf8a4cb7b Author: Dmitriy Monakhov Date: Thu Mar 29 14:24:09 2007 +0200 [PATCH] splice: partial write fix Currently if partial write has happened while ->commit_write() then page wasn't marked as accessed and rebalanced. Signed-off-by: Monakhov Dmitriy Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit d8d79201eb391ae0eca05f9e51f1f94ab42b6b4e Author: Linsys Contractor Adhiraj Joshi Date: Fri Mar 23 07:21:24 2007 -0800 NetXen: Fix hardware access for ppc architecture. NetXen: Fix for hardware access on big endian machine. Signed-off-by: Adhiraj Joshi Signed-off-by: Jeff Garzik commit bd7a44488975759da10b5f25bcebec19930a5328 Author: Francois Romieu Date: Thu Mar 29 00:18:50 2007 +0200 sis190: new PHY support Reported to work on the WinFast 761GXK8MB-RS motherboard. Plain 10/100 Mbps. Signed-off-by: Paul Gibbons Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 8c754a04ff11a9c1107c134ad5a858e9dc08c1de Author: Chris Snook Date: Wed Mar 28 20:51:51 2007 -0400 atl1: save mac address on remove Some atl1 boards get their MAC address written directly to the register by the BIOS during POST, rather than storing it in EEPROM that's accessible to the driver. If the MAC register on one of these boards is changed and then the module is unloaded, the permanent MAC address will be forgotten until the box is rebooted. We should save the permanent address during removal if we've been messing with it. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 2848e647402719d4a8d03141361caed60f2668da Author: Andrew Victor Date: Mon Mar 26 11:02:48 2007 +0100 [ARM] 4289/1: AT91: SAM9260 NAND flash timing Fix the NAND flash timings on the AT91SAM9260. The current timings lead to the detection of a number of bad blocks. These timings are now set the same as on the AT91SAM9263. Patch from Nicolas Ferre. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit db8b22550d4b83f0910d27a34d05aa16f7f7159f Author: Michael Chan Date: Wed Mar 28 14:17:36 2007 -0700 [BNX2]: Fix link interrupt problem. bnx2_has_work()'s logic is flawed and can cause the driver to miss a link event. The fix is to compare the status block's attn_bits and attn_bits_ack to determine if there is a link event. Update version to 1.5.6. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 190a4408ecb577391ea5fbd1f90148a6992a5756 Author: Jean-Christophe Dubois Date: Wed Mar 28 11:07:41 2007 +0100 [POWERPC] Fix dcr_unmap() Fix a bug in dcr_unmap(). At unmap time the DCR offset need to be added instead of substracted. Signed-off-by: Jean-Christophe Dubois Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bba6f6fc68e74d4572028646f61dd3505a68747e Author: Eric W. Biederman Date: Wed Mar 28 15:36:09 2007 +0200 [PATCH] MSI-X: fix resume crash So I think the right solution is to simply make pci_enable_device just flip enable bits and move the rest of the work someplace else. However a thorough cleanup is a little extreme for this point in the release cycle, so I think a quick hack that makes the code not stomp the irq when msi irq's are enabled should be the first fix. Then we can later make the code not change the irqs at all. Signed-off-by: Eric W. Biederman Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 4dfc896e90359df04c80da5ab08ec31e87846c43 Author: Jiri Kosina Date: Wed Mar 28 18:12:34 2007 +0200 [PATCH] oprofile: fix potential deadlock on oprofilefs_lock nmi_cpu_setup() is called from hardirq context and acquires oprofilefs_lock. alloc_event_buffer() and oprofilefs_ulong_from_user() acquire this lock without disabling irqs, which could deadlock. Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit 935c631db827cc3a96df4dcc6fec374b994fdbd1 Author: Ingo Molnar Date: Wed Mar 28 13:17:18 2007 +0200 [PATCH] hrtimers: fix reprogramming SMP race hrtimer_start() incorrectly set the 'reprogram' flag to enqueue_hrtimer(), which should only be 1 if the hrtimer is queued to the current CPU. Doing otherwise could result in a reprogramming of the current CPU's clockevents device, with a timer that is not queued to it - resulting in a bogus next expiry value. Signed-off-by: Ingo Molnar Cc: Michal Piotrowski Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71775147f6ae2a2901e7b917c0a76df353f8801 Author: Robert Reif Date: Wed Mar 28 12:50:56 2007 -0700 [VIDEO]: Fix section mismatch in cg3.c Fix section mismatch warning by moving data into __devinitdata section. Add __devinit to initialization functions. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 39ebc0276bada8bb70e067cb6d0eb71839c0fb08 Author: Arnaldo Carvalho de Melo Date: Wed Mar 28 11:54:32 2007 -0700 [DCCP] getsockopt: Fix DCCP_SOCKOPT_[SEND,RECV]_CSCOV We were only checking if there was enough space to put the int, but left len as specified by the (malicious) user, sigh, fix it by setting len to sizeof(val) and transfering just one int worth of data, the one asked for. Also check for negative len values. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b863f46e6a523276b77dd128ec268f8c509b4554 Author: Kristoffer Ericson Date: Wed Mar 28 19:45:59 2007 +0900 sh: Trivial fix for hp6xx build. The IRQ3 define was removed when asm-sh/irq.h was cleaned up, this updates the hp6xx header to use the IRQ number directly. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 310f7963c24ab8fa56a539fa060dd84560ce26e9 Author: Paul Mundt Date: Wed Mar 28 17:26:19 2007 +0900 sh: Fixup __cmpxchg() compile breakage with gcc4. As reported by Manuel: When I build linux with GCC-4.x and enable CONFIG_CC_OPTIMIZE_FOR_SIZE linking fails with this error: LD .tmp_vmlinux1 kernel/built-in.o: In function '__cmpxchg_called_with_bad_pointer' make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [_all] Error 2 This ended up being an inlining problem, fixed by explicitly including linux/compiler.h and grabbing the definitions from there. Signed-off-by: Paul Mundt commit 9c5b406b9a857a67caf778f096bfc7f4e6b0401a Author: Paul Mundt Date: Wed Mar 28 17:24:47 2007 +0900 sh: Kill bogus GCC4 symbol exports. __sdivsi3_i4i, __udiv_qrnnd_16, and __udivsi3_i4i don't exist outside of the ST compiler, so kill them off. This causes compile failures with other GCC4 compilers. Signed-off-by: Paul Mundt commit c14bac628b9fad6fd4dad8fbb9e864c61a8924c9 Author: Cyrill V. Gorcunov Date: Mon Mar 26 21:47:26 2007 -0800 SUN3/3X Lance trivial fix improved This patch adds checking for allocated DVMA memory and granted IRQ line. Signed-off-by: Cyrill V. Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fadac4060c0456ce0a190ee581746ae8663f84e1 Author: Gabriel Paubert Date: Fri Mar 23 12:03:52 2007 -0700 mv643xx_eth: Fix use of uninitialized port_num field In this driver, the default ethernet address is first set by by calling eth_port_uc_addr_get() which reads the relevant registers of the corresponding port as initially set by firmware. However that function used the port_num field accessed through the private area of net_dev before it was set. The result was that one board I have ended up with the unicast address set to 00:00:00:00:00:00 (only port 1 is connected on this board). The problem appeared after commit 84dd619e4dc3b0b1c40dafd98c90fd950bce7bc5. This patch fixes the bug by setting mp->port_num prior to calling eth_port_uc_get_addr(). Signed-off-by: Gabriel Paubert Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 3ba4d093fe8a26f5f2da94411bf8732fa6e9da86 Author: Ayaz Abdulla Date: Fri Mar 23 05:50:02 2007 -0500 forcedeth: fix tx timeout The tx timeout routine was waking the tx queue conditionally. However, it must call it unconditionally since the dev_watchdog has halted the tx queue before calling the timeout function. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit fcc5f2665c81e087fb95143325ed769a41128d50 Author: Ayaz Abdulla Date: Fri Mar 23 05:49:37 2007 -0500 forcedeth: fix nic poll The nic poll routine was missing the call to the optimized irq routine. This patch adds the missing call for the optimized path. See http://bugzilla.kernel.org/show_bug.cgi?id=7950 for more information. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b3b1514c90ab534ec6c9e4452953069f85aacf4d Author: Ron Mercer Date: Mon Mar 26 13:43:00 2007 -0700 qla3xxx: bugfix: Jumbo frame handling. Fixed rx checksum bits. Turn on TCP processing for rx checksum. Fixed max frame length register write. It wasn't getting set in multi-port system. Set rx buffer queue length properly for jumbo frames. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit f67cac0190623a3cde4d783c7c7205691aa02cc2 Author: Ron Mercer Date: Mon Mar 26 13:42:59 2007 -0700 qla3xxx: bugfix: Dropping interrupt under heavy network load. Update the rx queue pointer when exiting NAPI poll rather than at the end of each iteration. Remove unnecessary PCI flushes that occurred after every write. Now write all regs and flush once. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit b6967eb9cbf38643fc1b5432c36f610a9c565579 Author: Ron Mercer Date: Mon Mar 26 13:42:58 2007 -0700 qla3xxx: bugfix: Multi segment sends were getting whacked. The proper header length was not being used. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit d8a759ff414141c8a0f6683e9f35b895b5f23b57 Author: Ron Mercer Date: Mon Mar 26 13:42:57 2007 -0700 qla3xxx: bugfix: Add tx control block memset. This was removed in a previous patch to increase performance, but caused a transmit error for the 4032 chip. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit de815a14e9d03df0560e6ef689d1da32553878b7 Author: Jay Cliburn Date: Tue Mar 27 19:43:49 2007 -0500 atl1: remove unnecessary crc inversion The original vendor driver contained a private ether_crc_le() function that produced an inverted crc. When we changed to the kernel version of ether_crc_le(), we neglected to undo the inversion. Let's do it now. Discovered by and patch proffered by Jose Alberto Reguero. Signed-off-by: Jose Alberto Reguero Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 917690cd035b422b1ac933ac160d26016aa454ac Author: Brice Goglin Date: Tue Mar 27 21:54:53 2007 +0200 myri10ge: correctly detect when TSO should be used Correctly detect when TSO should be used on transmit by looking at the skb->gso_size rather than seeing if the frame was larger than our MTU. The old method causes problems when a host with a large (jumbo) MTU is sending to a host with a small (standard) MTU. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7acfaf3037ff19b749117a286f0f24e201ada0ec Author: Paul Rolland Date: Mon Mar 26 21:43:44 2007 -0800 ata: NCQ is broken on Maxtor 6L250S0 With this applied, my machine has stopped all those painful messages. dmesg now says : root@riri:/Kernels# dmesg | grep LBA ata1.00: 490234752 sectors, multi 0: LBA48 NCQ (not used) ata2.00: 640 sectors, multi 1: LBA ata3.00: 490234752 sectors, multi 0: LBA48 NCQ (not used) Signed-off-by: Paul Rolland Acked-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5e5188108bcf9ab2e6f87b4b54924354040b0aa7 Author: Alan Cox Date: Fri Mar 23 18:57:23 2007 +0000 pata_pdc202xx_old: LBA48 bug In LBA48 mode we have to help the controller to get anything to work. The chip provides a register giving word counts meant for ATAPI use which we can use. However we need to load the count in words not bytes.. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8c3c52a8f00536ce55dafa055b4a211f878f3901 Author: Tejun Heo Date: Thu Mar 22 22:24:19 2007 +0900 libata: IDENTIFY backwards for drive side cable detection For drive side cable detection to work correctly, drives need to be identified backwards such that the slave device releases PDIAG- before the mater drive tries to detect cable type. ata_bus_probe() was fixed by commit f31f0cc2f0b7527072d94d02da332d9bb8d7d94c but the new EH path wasn't fixed. This patch makes new EH path do IDENTIFY backwards. ata_dev_configure() for new devices are still performed master first. This is to keep the detection messages in forward order. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 55a61604cd1354e1783364e1c901034f2f474b7d Author: Conke Hu Date: Tue Mar 27 18:33:05 2007 +0800 ahci.c: walkaround for SB600 SATA internal error issue There is a HW issue in ATI SB600 SATA that PxSERR.E should not be set on some conditions, for example, when there is no media in SATA CD/DVD drive or media is not ready, AHCI controller fails to execute ATAPI commands and reports PORT_IRQ_TF_ERR, but ATI SB600 SATA controller sets PxSERR.E at the same time, which is not necessary. This patch is just to ignore the INTERNAL ERROR in such case. Without this patch, ahci error handler will report many errors as below: ----------- cut from dmesg ----------- ata9: soft resetting port ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata9.00: configured for UDMA/33 ata9: EH complete ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2 ata9.00: (irq_stat 0x40000001) ata9.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 tag 0 cdb 0x0 data 0 res 51/24:03:00:00:20/00:00:00:00:00/a0 Emask 0x40 (internal error) ata9: soft resetting port ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata9.00: configured for UDMA/33 ata9: EH complete ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2 ata9.00: (irq_stat 0x40000001) ata9.00: cmd a0/01:00:00:00:00/00:00:00:00:00/a0 tag 0 cdb 0x43 data 12 in res 51/24:03:00:00:00/00:00:00:00:00/a0 Emask 0x40 (internal error) -------- end cut --------- Signed-off-by: Conke Hu Signed-off-by: Jeff Garzik commit d7d0dad62a641c156386288a747c1a2f6bb2e42d Author: Jeff Garzik Date: Wed Mar 28 01:57:37 2007 -0400 [libata] Disable ACPI by default; fix namespace problems Not yet ready to turn on ATA ACPI by default, for either PATA or SATA. Also, rename the global-scope module parameter variable 'noacpi' to something more libata-specific, reducing the potential for namespace collision. Signed-off-by: Jeff Garzik commit 28defbea64622f69d65a6079bf800cedb9915a5f Author: Zach Brown Date: Tue Mar 27 15:44:01 2007 -0700 [PATCH] aio: remove bare user-triggerable error printk The user can generate console output if they cause do_mmap() to fail during sys_io_setup(). This was seen in a regression test that does exactly that by spinning calling mmap() until it gets -ENOMEM before calling io_setup(). We don't need this printk at all, just remove it. Signed-off-by: Zach Brown Signed-off-by: Linus Torvalds commit 53aadcc90931dfa150f76ce9a5f9e8f3e43d57df Author: Herbert Xu Date: Tue Mar 27 14:31:52 2007 -0700 [IPV6]: Set IF_READY if the device is up and has carrier We still need to set the IF_READY flag in ipv6_add_dev for the case where all addresses (including the link-local) are deleted and then recreated. In that case the IPv6 device too will be destroyed and then recreated. In order to prevent the original problem, we simply ensure that the device is up before setting IF_READY. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c38c83cb705a41e30a99545ae2314c00e3b9bf1c Author: Patrick McHardy Date: Tue Mar 27 14:04:24 2007 -0700 [NET_SCHED]: sch_htb/sch_hfsc: fix oops in qlen_notify During both HTB and HFSC class deletion the class is removed from the class hash before calling qdisc_tree_decrease_qlen. This makes the ->get operation in qdisc_tree_decrease_qlen fail, so it passes a NULL pointer to ->qlen_notify, causing an oops. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c2805fbb8630abb95d94ce7adc3f97976f7e0367 Author: Jean Tourrilhes Date: Fri Mar 23 00:31:16 2007 +0000 [PATCH] WE-22 : prevent information leak on 64 bit Johannes Berg discovered that kernel space was leaking to userspace on 64 bit platform. He made a first patch to fix that. This is an improved version of his patch. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit ed4bb1063171b2f44a40b0a9c400dedb0590dce6 Author: Jean Tourrilhes Date: Fri Mar 23 00:26:49 2007 +0000 [PATCH] wext: Add missing ioctls to 64<->32 conversion Johannes Berg and Michael Buesch noticed that the WPA ioctls were missing from the 64<->32 bit conversion. This means that when using a 32 bits userspace on a 64 bit kernel, those ioctls fail. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit 83b5db89c851f9a2080e2e43427346269ab84447 Author: David Woodhouse Date: Sun Mar 25 08:45:54 2007 -0500 [PATCH] bcm43xx: Fix machine check on PPC for version 1 PHY Recent changes in the specs that were introduced in commit 740ac4fb08866d702be90f167665d03759bd27d0 were incorrect and resulted in machine check errors on the PPC architecture for G PHY's with a revision number equal to 1. The two offending changes are reverted. Signed-off-by: David Woodhouse Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7265c5d10dd893b91aab15735ed9346a0e07bf07 Author: Stefano Brivio Date: Fri Mar 23 20:21:39 2007 +0100 [PATCH] bcm43xx: fix radio_set_tx_iq Fix a duplicated leftshift in bcm43xx_radio_set_tx_iq. data_high values are already leftshifted. Thanks to Michael Buesch for spotting this. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit be10d3860ef07ff43f240fbc0c0b72df1a5fe3df Author: Larry Finger Date: Sat Mar 17 11:28:21 2007 -0500 [PATCH] bcm43xx: Fix code for confusion between PHY revision and PHY version There are several places where the PHY version and revision were interchanged. These are changed in the specifications on 2/13/07 and now use "analog" instead instead of "version" to help reduce confusion. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 436ce71638eceb0f9dd7608157807c37b29c3db7 Author: Rafael J. Wysocki Date: Tue Mar 27 12:09:13 2007 +0200 [PATCH] Revert "swsusp: disable nonboot CPUs before entering platform suspend" This reverts commit 94985134b7b46848267ed6b734320db01c974e72 and insteads removes the WARN_ON() that caused that commit in the first place. The problem is that we call disable_nonboot_cpus() in swsusp before powering down the system in order to avoid triggering the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c:init_low_mapping() and this doesn't work well on Thomas' system. So instead, remove the WARN_ON() in arch/x86_64/kernel/acpi/sleep.c: init_low_mapping(), which triggers every time during the suspend to disk in the platform mode, as the potential problem it is related to doesn't seem to occur in practice. [ I think we might want to disallow the case of multiple users of that mm, or something. Normally, playing with the current process page tables on the current CPU should be fine as long as we don't have other threads using those tables at the same time.. Anyway, not pretty, but better than the warning or the lockup - Linus ] Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit c7f6d15ff2664467a2cb669abcabb5ffaf719b2d Author: Thomas Gleixner Date: Tue Mar 27 09:08:26 2007 +0200 [PATCH] i386: Fix bogus return value in hpet_next_event() The clockevents / tick management code expects an error value, when the event is already expired. hpet_next_event() returns 1 in that case. Fix it to return the proper -ETIME error code. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 5c46010af210712c8a390c7fe50ff05448983061 Author: Mika Kukkonen Date: Mon Mar 26 21:32:33 2007 -0800 [PATCH] Fix kernel build with EMBEDDED & PROC_FS & !PROC_SYSCTL Without attached patch against current -git I get following with !PROC_SYSCTL (with EMBEDDED and PROC_FS set): CC init/version.o LD init/built-in.o LD vmlinux fs/built-in.o: In function `do_proc_sys_lookup': proc_sysctl.c:(.text+0x26583): undefined reference to `sysctl_head_next' fs/built-in.o: In function `proc_sys_revalidate': proc_sysctl.c:(.text+0x265bb): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_readdir': proc_sysctl.c:(.text+0x26720): undefined reference to `sysctl_head_next' proc_sysctl.c:(.text+0x267d8): undefined reference to `sysctl_head_finish' proc_sysctl.c:(.text+0x268e7): undefined reference to `sysctl_head_next' proc_sysctl.c:(.text+0x26910): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_write': proc_sysctl.c:(.text+0x2695d): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x2699c): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_read': proc_sysctl.c:(.text+0x269e9): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x26a25): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_permission': proc_sysctl.c:(.text+0x26ad1): undefined reference to `sysctl_perm' proc_sysctl.c:(.text+0x26adb): undefined reference to `sysctl_head_finish' fs/built-in.o: In function `proc_sys_lookup': proc_sysctl.c:(.text+0x26b39): undefined reference to `sysctl_head_finish' make: *** [vmlinux] Virhe 1 All those functions are in fs/proc/proc_sysctl.c, which has no CONFIG_ #define's in it, so the patch makes the compilation of that file to depend on CONFIG_PROC_SYSCTL (the simplest choice). Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8f2f5165c3eb22d7b19405d80fd82339507a950 Author: Markus Lidel Date: Mon Mar 26 21:32:32 2007 -0800 [PATCH] I2O: remove Markus from MAINTAINERS Because i don't have much time lately and my responses are pretty slow it's probably best to remove me from MAINTAINERS to give someone else the chance to jump in. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a28d193cbf01375974683c13e99a52ef489e5eb0 Author: Serge E. Hallyn Date: Mon Mar 26 21:32:31 2007 -0800 [PATCH] ipcns: fix !CONFIG_IPC_NS behavior When CONFIG_IPC_NS=n, clone(CLONE_NEWIPC) claims success, but did not actually clone a new IPC namespace. Fix this to return -EINVAL so the caller knows his request was denied. Signed-off-by: Serge E. Hallyn Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1985ad1da28eac507d855af8099f6010c51b167 Author: Vasily Averin Date: Mon Mar 26 21:32:30 2007 -0800 [PATCH] i2o: block IO errors on i2o disk I2O subsystem has been broken in mainstream several months ago (after 2.6.18). Commit 4aff5e2333c9a1609662f2091f55c3f6fffdad36 from Jens Axboe split struct request ->flags into two parts: cmd_type and cmd_flags. In i2o layer this patch has replaced flag REQ_SPECIAL by the according cmd_type. However i2o has used REQ_SPECIAL not as command type but as driver-specific flag for the debug purposes. As result all i2o requests have type "special" now, are not processed to the hardware and fail with I/O error: i2o/hda:<3>Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 unable to read partition table block-osm: device added (TID: 207): i2o/hda The following patch removes the extra debug checks without any drawbacks and restores the normal driver's work. Signed-off-by: Vasily Averin Acked-by: Markus Lidel Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f45005ce8ec97fc3a2aac3c0e9e645ed83a64a Author: Yoichi Yuasa Date: Mon Mar 26 21:32:28 2007 -0800 [PATCH] Fix struct device member name in PCMCIA au1000_generic drivers/pcmcia/au1000_generic.c: In function 'au1x00_pcmcia_socket_probe': drivers/pcmcia/au1000_generic.c:375: error: 'struct device' has no member named 'dev' Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Greg KH Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74b9a297866d0416edd0be5014cb0810de049c6a Author: Adrian Bunk Date: Mon Mar 26 21:32:27 2007 -0800 [PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:eisa_root_register from .text between 'pci_eisa_init' (at offset 0xabf670) and 'virtual_eisa_release' AFAIK a PCI to EISA bridge isn't anything hotpluggable, so pci_eisa_init() can become __init. Signed-off-by: Adrian Bunk Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62ac21aa075c8ddf3d02a98d28afce635e77e8e Author: john stultz Date: Mon Mar 26 21:32:26 2007 -0800 [PATCH] ntp: avoid time_offset overflows I've been seeing some odd NTP behavior recently on a few boxes and finally narrowed it down to time_offset overflowing when converted to SHIFT_UPDATE units (which was a side effect from my HZfreeNTP patch). This patch converts time_offset from a long to a s64 which resolves the issue. [tglx@linutronix.de: signedness fixes] Signed-off-by: John Stultz Cc: Roman Zippel Cc: john stultz Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92c4f922b2e8c70f8790d42e45bb9401c57be63 Author: Jeff Dike Date: Mon Mar 26 21:32:25 2007 -0800 [PATCH] uml: use correct register file size everywhere This patch uses MAX_REG_NR consistently to refer to the register file size. FRAME_SIZE isn't sufficient because on x86_64, it is smaller than the ptrace register file size. MAX_REG_NR was introduced as a consistent way to get the number of registers, but wasn't used everywhere it should be. When this causes a problem, it makes PTRACE_SETREGS fail on x86_64 because of a corrupted segment register value in the known-good register file. The patch also adds a register dump at that point in case there are any future problems here. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7632fc8f809a97f9d82ce125e8e3e579390ce2e5 Author: Jeff Dike Date: Mon Mar 26 21:32:24 2007 -0800 [PATCH] uml: fix static linking During a static link, ld has started putting a .note section in the .uml.setup.init section. This has the result that the UML setups begin with 32 bytes of garbage and UML crashes immediately on boot. This patch creates a specific .note section for ld to drop this stuff into. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9d5a461157c1244475bc400fcac7f871608715e Author: Adrian Bunk Date: Mon Mar 26 21:32:23 2007 -0800 [PATCH] drivers/spi/: fix section mismatches WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_register_master from .text between 'spi_bitbang_start' (at offset 0x84e11a) and 'bitbang_work' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_alloc_master from .text between 'butterfly_attach' (at offset 0x84e681) and 'at25_remove' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_new_device from .text between 'butterfly_attach' (at offset 0x84e7e4) and 'at25_remove' Signed-off-by: Adrian Bunk Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78d832f62643ac6209beccbfb29228314423935e Author: Serge E. Hallyn Date: Mon Mar 26 21:32:22 2007 -0800 [PATCH] utsns: fix !CONFIG_UTS_NS behavior When CONFIG_UTS_NS=n, clone(CLONE_NEWUTS) quietly refuses. So correctly does not unshare a new uts namespace, but also does not return -EINVAL. Fix this to return -EINVAL so the caller knows his request was denied. Signed-off-by: Serge E. Hallyn Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62b3e920ed7612f318126f9c9b37c6a8dcd4199e Author: Alan Cox Date: Mon Mar 26 21:32:21 2007 -0800 [PATCH] tty: minor merge correction Its now used.. because we added the new definitions so enabled all the goodies on i386 Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d75e26a8298f84bca66374e98fa69049f26083ba Author: Jeff Dike Date: Mon Mar 26 21:32:20 2007 -0800 [PATCH] uml: fix epoll UML/x86_64 needs the same packing of struct epoll_event as x86_64. Signed-off-by: Jeff Dike Cc: Davide Libenzi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3899210ad9850e3b8909674c92dccbd3caaf9750 Author: Jiri Kosina Date: Mon Mar 26 21:32:19 2007 -0800 [PATCH] ISDN: fix BChannel_bh() call from isar_bh() isar_bh() bh handler calls another (compatible) bh handler - BChannel_bh() - but passes struct BCState* instead of struct work_struct*, which seems wrong. Cc: Karsten Keil Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ff100d76ff76477a2ead3aac94d04f2e891f44e Author: john stultz Date: Mon Mar 26 21:32:19 2007 -0800 [PATCH] correct slow acpi_pm rating On Bob's machine clocksource is selecting PIT over the ACPI PM timer, because he has the PIIX4 bug. That bug drops the ACPI PM timers rating to the same as the PIT, so that's why you're getting the PIT. Realistically, the PIT is much slower then even the triple read ACPI PM, so the de-ranking code is probably dropping it too far. So don't drop ACPI PM quite so low if we see the PIIX4 bug. Signed-off-by: John Stultz Cc: Bob Tracy Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d340d89087534e8b12e1b6ed1c1569dd892b5465 Author: Daniel Drake Date: Mon Mar 26 21:32:15 2007 -0800 [PATCH] generic_serial: fix decoding of baud rate Commit d720bc4b8fc5d6d179ef094908d4fbb5e436ffad partially removed a private implementation of baud speed decoding. However it doesn't seem to be complete: after the speed is decoded, it is still being used as an index to a local speed table (array overrun, no doubt). This was found by Graham Murray who noticed it caused a 2.6.19 regression with the SX driver: https://bugs.gentoo.org/170554 Signed-off-by: Daniel Drake Acked-by: Alan Cox Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e55e2f5fc95b355d8aa649f346cff69904c8ade Author: NeilBrown Date: Mon Mar 26 21:32:14 2007 -0800 [PATCH] md: convert compile time warnings into runtime warnings ... still not sure why we need this .... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 041ae52e265fc432ea5525b1c66720385c2d11f0 Author: NeilBrown Date: Mon Mar 26 21:32:14 2007 -0800 [PATCH] md: clear the congested_fn when stopping a raid5 If this mddev and queue got reused for another array that doesn't register a congested_fn, this function would get called incorretly. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d37890baa4ca962f8a6b77525b8f3d0698eee09 Author: NeilBrown Date: Mon Mar 26 21:32:13 2007 -0800 [PATCH] md: allow raid4 arrays to be reshaped All that is missing the the function pointers in raid4_pers. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79f6523a16b2010969418f8df25fe61498dec66b Author: J. Bruce Fields Date: Mon Mar 26 21:32:10 2007 -0800 [PATCH] knfsd: nfsd4: remove superfluous cancel_delayed_work() call This cancel_delayed_work call is called from a function that is only called from a piece of code that immediate follows a cancel and destruction of the workqueue, so it's clearly a mistake. Cc: Oleg Nesterov Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21315edd4877b593d5bf17a601a48fc836b8ba58 Author: Bruce Fields Date: Mon Mar 26 21:32:09 2007 -0800 [PATCH] knfsd: nfsd4: demote "clientid in use" printk to a dprintk The reused clientid here is a more of a problem for the client than the server, and the client can report the problem itself if it's serious. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c044094947826105317dadd01deca083627ea1 Author: Bruce Fields Date: Mon Mar 26 21:32:09 2007 -0800 [PATCH] knfsd: nfsd4: fix inheritance flags on v4 ace derived from posix default ace A regression introduced in the last set of acl patches removed the INHERIT_ONLY flag from aces derived from the posix acl. Fix. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 598b9a56373f0596ed48f7af730706aaee998d5f Author: NeilBrown Date: Mon Mar 26 21:32:08 2007 -0800 [PATCH] knfsd: allow nfsd READDIR to return 64bit cookies ->readdir passes lofft_t offsets (used as nfs cookies) to nfs3svc_encode_entry{,_plus}, but when they pass it on to encode_entry it becomes an 'off_t', which isn't good. So filesystems that returned 64bit offsets would lose. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec28297a562f2b022115b9eb82e4ea724d996240 Author: Venki Pallipadi Date: Mon Mar 26 12:03:19 2007 -0700 [PATCH] Fix maxcpus=1 trigerring BUG() in cpufreq Ingo reported it on lkml in the thread "2.6.21-rc5: maxcpus=1 crash in cpufreq: kernel BUG at drivers/cpufreq/cpufreq.c:82!" This check added to remove_dev is symmetric to one in add_dev and handles callbacks for offline cpus cleanly. Signed-off-by: Venkatesh Pallipadi Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 6d9658df07789a124e5c1f8677afcd7773439f3e Author: Ingo Molnar Date: Sun Mar 11 13:52:33 2007 +0100 KVM: always reload segment selectors failed VM entry on VMX might still change %fs or %gs, thus make sure that KVM always reloads the segment selectors. This is crutial on both x86 and x86_64: x86 has __KERNEL_PDA in %fs on which things like 'current' depends and x86_64 has 0 there and needs MSR_GS_BASE to work. Signed-off-by: Ingo Molnar commit 6af11b9e827aac1d664ccd31e94f122c7698416b Author: Avi Kivity Date: Mon Mar 19 13:18:10 2007 +0200 KVM: Prevent system selectors leaking into guest on real->protected mode transition on vmx Intel virtualization extensions do not support virtualizing real mode. So kvm uses virtualized vm86 mode to run real mode code. Unfortunately, this virtualized vm86 mode does not support the so called "big real" mode, where the segment selector and base do not agree with each other according to the real mode rules (base == selector << 4). To work around this, kvm checks whether a selector/base pair violates the virtualized vm86 rules, and if so, forces it into conformance. On a transition back to protected mode, if we see that the guest did not touch a forced segment, we restore it back to the original protected mode value. This pile of hacks breaks down if the gdt has changed in real mode, as it can cause a segment selector to point to a system descriptor instead of a normal data segment. In fact, this happens with the Windows bootloader and the qemu acpi bios, where a protected mode memcpy routine issues an innocent 'pop %es' and traps on an attempt to load a system descriptor. "Fix" by checking if the to-be-restored selector points at a system segment, and if so, coercing it into a normal data segment. The long term solution, of course, is to abandon vm86 mode and use emulation for big real mode. Signed-off-by: Avi Kivity commit 09d4895488d4df5c58b739573846f514ceabc911 Author: Thomas Viehweger Date: Thu Mar 22 11:20:32 2007 -0300 V4L/DVB (5472): Isl6421: don't reference freed memory After freeing a block there should be no reference to this block. Signed-off-by: Thomas Viehweger Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a7cd1920969dd9da4e0d99aab573b3eba24c799 Author: Oliver Endriss Date: Tue Mar 13 23:44:57 2007 -0300 V4L/DVB (5441): Saa7146: Fix allocation of clipping memory Olaf Hering pointed out that SAA7146_CLIPPING_MEM would become very large for PAGE_SIZE > 4K. In fact, the number of clipping windows is limited to 16, and calculate_clipping_registers_rect() does not use more than 256 bytes. SAA7146_CLIPPING_MEM adjusted accordingly. Thanks-to: Olaf Hering Acked-by: Michael Hunold Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 21b48a70f7e26906d522c81b22228b375b450a8f Author: Jean Delvare Date: Mon Mar 12 19:20:15 2007 -0300 V4L/DVB (5421): Fix suspend/resume in msp3400 and tuner Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3284b4e077cb2322754ea7455b8f8af7ce3777b8 Author: Hans Verkuil Date: Sat Mar 10 20:21:07 2007 -0300 V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found. Returning -1 causes the probe to stop, but it should just continue instead. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a9aaec4e83e687d23b78b38e331bbd6a10b96380 Author: Mauro Carvalho Chehab Date: Tue Mar 13 13:41:49 2007 -0300 V4L/DVB (5408): Fix SECAM handling on saa7115 Signed-off-by: Mauro Carvalho Chehab commit c278850206fd9df0bb62a72ca0b277fe20c5a452 Author: Simon Arlott Date: Sat Mar 10 06:21:25 2007 -0300 V4L/DVB (5400): Core: fix several locking related problems Fix several instances of dvb-core functions using mutex_lock_interruptible and returning -ERESTARTSYS where the calling function will either never retry or never check the return value. These cause a race condition with dvb_dmxdev_filter_free and dvb_dvr_release, both of which are filesystem release functions whose return value is ignored and will never be retried. When this happens it becomes impossible to open dvr0 again (-EBUSY) since it has not been released properly. Signed-off-by: Simon Arlott Signed-off-by: Andrew Morton Acked-By: Johannes Stezenbach Signed-off-by: Mauro Carvalho Chehab commit b10fece583fdfdb3d2f29b0da3896ec58b8fe122 Author: Trent Piepho Date: Wed Mar 7 18:19:46 2007 -0300 V4L/DVB (5390): Radio: Fix error in Kbuild file All the radio drivers need video_dev, but they were depending on VIDEO_DEV!=n. That meant that one could try to compile the driver into the kernel when VIDEO_DEV=m, which will not work. If video_dev is a module, then the radio drivers must be modules too. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 726cf56f24cbadaad1719724a30c29eb92911524 Author: Vincent Penne Date: Sun Mar 25 11:58:23 2007 -0300 V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix ir_rc5_timer_end decoder lockup fix Signed-off-by: Vincent Penne Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7945d5626c4e09eca5eb70f65ae7344e9e246d8f Author: Mikael Pettersson Date: Tue Mar 27 01:13:55 2007 -0700 [SPARC]: sparc64 gcc-4.2.0 20070317 -Werror failure Compiling 2.6.21-rc5 with gcc-4.2.0 20070317 (prerelease) for sparc64 fails as follows: gcc -Wp,-MD,arch/sparc64/kernel/.time.o.d -nostdinc -isystem /home/mikpe/pkgs/linux-sparc64/gcc-4.2.0/lib/gcc/sparc64-unknown-linux-gnu/4.2.0/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare -Wa,--undeclared-regs -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -Werror -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(time)" -D"KBUILD_MODNAME=KBUILD_STR(time)" -c -o arch/sparc64/kernel/time.o arch/sparc64/kernel/time.c cc1: warnings being treated as errors arch/sparc64/kernel/time.c: In function 'kick_start_clock': arch/sparc64/kernel/time.c:559: warning: overflow in implicit constant conversion make[1]: *** [arch/sparc64/kernel/time.o] Error 1 make: *** [arch/sparc64/kernel] Error 2 gcc gets unhappy when the MSTK_SET macro's u8 __val variable is updated with &= ~0xff (MSTK_YEAR_MASK). Making the constant unsigned fixes the problem. [ I fixed up the sparc32 side as well -DaveM ] Signed-off-by: Mikael Pettersson Signed-off-by: David S. Miller commit 40bee44eaef91b6030037c8bb47f909181fb1edc Author: Mark Fasheh Date: Wed Mar 21 13:11:02 2007 +0100 Export __splice_from_pipe() Ocfs2 wants to implement it's own splice write actor so that it can better manage cluster / page locks. This lets us re-use the rest of splice write while only providing our own code where it's actually important. Signed-off-by: Mark Fasheh Signed-off-by: Jens Axboe commit 08c72591636829d40bd695d43ec6d2a8191b668b Author: Nick Piggin Date: Tue Mar 27 08:55:39 2007 +0200 2/2 splice: dont readpage Splice does not need to readpage to bring the page uptodate before writing to it, because prepare_write will take care of that for us. Splice is also wrong to SetPageUptodate before the page is actually uptodate. This results in the old uninitialised memory leak. This gets fixed as a matter of course when removing the readpage logic. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 485ddb4b9741bafb70b22e5c1f9b4f37dc3e85bd Author: Nick Piggin Date: Tue Mar 27 08:55:08 2007 +0200 1/2 splice: dont steal Stealing pages with splice is problematic because we cannot just insert an uptodate page into the pagecache and hope the filesystem can take care of it later. We also cannot just ClearPageUptodate, then hope prepare_write does not write anything into the page, because I don't think prepare_write gives that guarantee. Remove support for SPLICE_F_MOVE for now. If we really want to bring it back, we might be able to do so with a the new filesystem buffered write aops APIs I'm working on. If we really don't want to bring it back, then we should decide that sooner rather than later, and remove the flag and all the stealing infrastructure before anybody starts using it. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 1ffb96c587fa2af0d690dc3548a4a781c477bfb7 Author: Thibaut VARENE Date: Thu Mar 15 12:59:19 2007 +0100 make elv_register() output atomic Booting 2.6.21-rc3-g45592145 I noticed the following on one of my machines in the bootlog: io scheduler noop registered<6>Time: jiffies clocksource has been installed. io scheduler deadline registered (default) Looking at block/elevator.c, it appears that elv_register() uses two consecutive printks in a non-atomic way, leading to the above glitch. The attached trivial patch fixes this issue, by using a single printk. Signed-off-by: Thibaut VARENE Signed-off-by: Jens Axboe commit f772b3d9ca135087a70406d8466e57d1cf29237e Author: Vasily Tarasov Date: Tue Mar 27 08:52:47 2007 +0200 block: blk_max_pfn is somtimes wrong There is a small problem in handling page bounce. At the moment blk_max_pfn equals max_pfn, which is in fact not maximum possible _number_ of a page frame, but the _amount_ of page frames. For example for the 32bit x86 node with 4Gb RAM, max_pfn = 0x100000, but not 0xFFFF. request_queue structure has a member q->bounce_pfn and queue needs bounce pages for the pages _above_ this limit. This routine is handled by blk_queue_bounce(), where the following check is produced: if (q->bounce_pfn >= blk_max_pfn) return; Assume, that a driver has set q->bounce_pfn to 0xFFFF, but blk_max_pfn equals 0x10000. In such situation the check above fails and for each bio we always fall down for iterating over pages tied to the bio. I want to notice, that for quite a big range of device drivers (ide, md, ...) such problem doesn't happen because they use BLK_BOUNCE_ANY for bounce_pfn. BLK_BOUNCE_ANY is defined as blk_max_pfn << PAGE_SHIFT, and then the check above doesn't fail. But for other drivers, which obtain reuired value from drivers, it fails. For example sata_nv uses ATA_DMA_MASK or dev->dma_mask. I propose to use (max_pfn - 1) for blk_max_pfn. And the same for blk_max_low_pfn. The patch also cleanses some checks related with bounce_pfn. Signed-off-by: Vasily Tarasov Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 37db9a348ad4250bd6009cec1bb108a653d1d220 Author: David S. Miller Date: Mon Mar 26 23:18:09 2007 -0700 [VIDEO] ffb: Fix two DAC handling bugs. The determination of whether the DAC has inverted cursor logic is broken, import the version checks the X.org driver uses to fix this. Next, when we change the timing generator, borrow code from X.org that does 10 NOP reads of the timing generator register afterwards to make sure the video-enable transition occurs cleanly. Finally, use macros for the DAC registers and fields in order to provide documentation for the next person who reads this code. Signed-off-by: David S. Miller commit 74e61dee2a98b5e538ee1448ca803fc0ad8e307f Author: Robert Reif Date: Mon Mar 26 19:10:43 2007 -0700 [SPARC32]: Fix SMP build regression commit b19cbe2a1695c09c74f83646c4b82b51123b3690 [BRIDGE]: Fix fdb RCU race breaks sparc SMP build because atomic_add_unless is not exported. This patch exports atomic_add_unless and atomic_cmpxchg. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit b82f87f6d40f944a591d8d36c0fed2d4374efcb7 Author: David S. Miller Date: Mon Mar 26 16:54:39 2007 -0700 [DRM]: Delete sparc64 FFB driver code that never gets built. The Kconfig bits were removed long ago, so we should kill off the driver too. Signed-off-by: David S. Miller commit 2f5bf1f2d061dea5146aa283685ce2b00cea2f3d Author: Sunil Mushran Date: Thu Mar 22 17:08:32 2007 -0700 ocfs2_dlm: Check for migrateable lockres in dlm_empty_lockres() In dlm_migrate_lockres(), we check upfront whether the lockres is a candidate for migration. This patch encapsulates that code in a separate function so that dlm_empty_lockres() can also use it during umount. This patch addresses the umount process spinning problem. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 78062cb2e54ffe0df811dce5e68b54da9b8c9025 Author: Sunil Mushran Date: Thu Mar 22 17:01:07 2007 -0700 ocfs2_dlm: Fix lockres ref counting bug During umount, the umount thread migrates the lockres' and the dlm_thread frees the empty lockres'. Due to a race, the reference counting on the lockres goes awry leading to extra puts. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 3104a2175dc04b7a597acea90f19b033abcfc7d8 Author: Erez Zilber Date: Sun Mar 25 12:07:10 2007 +0200 IB/iser: Handle aborting a command after it is sent The SCSI midlayer may abort a command that was already sent. If the initiator is still trying to send the command (or data-out PDUs for that command), the QP may time out after the midlayer times out. Therefore, when aborting the command, iSER may still have references for the command's buffers. When sending these PDUs, the sends will complete with an error and their resources will be released then. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 9b2f7bcf0efea98666da56073448647e2b373b67 Author: Robert P. J. Day Date: Mon Mar 26 16:20:34 2007 -0700 [NET]: Remove dead net/sched/Makefile entry for sch_hpfq.o. Remove the worthless net/sched/Makefile entry for the non-existent source file sch_hpfq.c. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 0264d8853137a9a328d9f0ed29e083dd505512cb Author: Michael S. Tsirkin Date: Sun Mar 25 11:17:43 2007 +0200 IB/mthca: Fix thinko in init_mr_table() Commit c20e20ab ("IB/mthca: Merge MR and FMR space on 64-bit systems") swapped the number of MTTs and MPTs when initializing the MR table. As a result, we get a kernel oops when the number of MTT segments allocated exceeds 0x20000. Noted by Troy Benjegerdes , and reproduced by Dotan Barak . This fixes https://bugs.openfabrics.org/show_bug.cgi?id=490 Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit ed6ee5178e6d78ba7f79a5ece3f0b70ece531a6a Author: Steve Wise Date: Mon Mar 26 17:48:52 2007 -0500 RDMA/cxgb3: Fix resource leak in cxio_hal_init_ctrl_qp() This was spotted by the Coverity checker (CID 1554). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 09c72ec8ed8f7499d115309a6e19cd5e66808d88 Author: Ruben Vandeginste Date: Mon Mar 26 14:43:49 2007 -0700 [SUNGEM]: Fix MAC address setting when interface is up. This patch implements set_mac_address for the sungem driver. This allows changing the mac address of the interface, even when the interface is up. Signed-off-by: Ruben Vandeginste Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit 04a395233089ed160ef87a6c2155e5dedc6f7d15 Author: Russ Cox Date: Mon Mar 26 11:23:56 2007 -0400 [PATCH] Add const to pointer qualifiers for __chk_user_ptr and __chk_io_ptr. Change prototypes for __chk_user_ptr and __chk_io_ptr to take const void* instead of void*, so that code can pass "const void *" to them. (Right now sparse does not warn about passing const void* to void* functions, but that is a separate bug that I believe Josh is working on, and once sparse does check this, the changed prototypes will be necessary.) Signed-off-by: Russ Cox Signed-off-by: Josh Triplett Acked-by: Christopher Li Signed-off-by: Linus Torvalds commit d562f1f8a92035d5d4681c178fccb991ce57f33a Author: Robert Olsson Date: Mon Mar 26 14:22:22 2007 -0700 [IPV4] fib_trie: Document locking. Paul E. McKenney writes: > Those of use who dive into networking only occasionally would much > appreciate this. ;-) No problem here... Acked-by: Robert Olsson Signed-off-by: Paul E. McKenney (but trivial) Signed-off-by: David S. Miller commit 3b009c637fee4990265591cc282d0c0f9e3c5384 Author: David Brownell Date: Fri Mar 23 12:54:27 2007 -0700 USB: fix usb-serial/ftdi build warning Fix annoying build warning: drivers/usb/serial/ftdi_sio.c:890: warning: enumeration value `FT232RL' not handled in switch Also add logic to detect FT232R chips (version 6.00, usb 2.0 full speed), so that case isn't completely useless. (NOTE: FT232RL and FT232RQ are the same chip in different packages: L is SSOP, Q is QFN.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b46d60fc4b2665107a04f75e5381294bfaf20177 Author: David Brownell Date: Fri Mar 23 12:51:55 2007 -0700 USB: fix usb-serial/generic build warning Fix annoying build warning when CONFIG_USB_SERIAL_GENERIC is undefined. drivers/usb/serial/generic.c:24: warning: `generic_probe' declared `static' but never defined Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8a61499bc769f3e12c7f866f7283728308fff6ad Author: Oliver Neukum Date: Tue Mar 20 19:32:51 2007 +0100 USB: another entry for the quirk list this scanner disconnects upon suspend. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 4928245163b1595f0846aa87ddd1d4f682364fe1 Author: Jon K Hellan Date: Tue Mar 20 12:45:42 2007 +0100 USB: remove duplicated device id in airprime driver Both airprime and option now want to handle vendor ID 0x1410, device ID 0x1100. Airprime calls it 'ExpressCard34 Qualcomm 3G CDMA'. Option calls it 'Novatel Merlin XS620/S640'. Patch attached to remove it from airprime. From: Jon K Hellan Signed-off-by: Greg Kroah-Hartman commit 8a3c1f573c771e60f67ef172d2392d1a28385b4a Author: David Brownell Date: Wed Mar 21 12:26:32 2007 -0700 USB: omap_udc: workaround dma_free_coherent() bogosity Various fixes to omap_udc, noted with some recent testing: - Cope with some SMP-induced braindamage in ARM's dma_{alloc,free}_coherent() implementation: alloc() can be called with IRQs blocked, but since late last year that's no longer true for free(). This resolves really NASTY problems with logspamming via WARN_ON(), indicating N-page leaks. - Be more correct in handling GET_STATUS request for RECIP_ENDPOINT ... the previous code only handled RECIP_INTERFACE, this version should be correct except for (sigh) bulk/interrupt endpoints. - Provide a better name for the function reporting whether the board has vbus sensing wired up. GET_STATUS requests for endpoint status still acts strangely though, at least given one flakey host doesn't always ack the first DATA packet, then the packet that gets retransmitted doesn't have data! Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e009f1b202219c62ea7e277adbb953d703dac983 Author: Alan Stern Date: Mon Mar 19 15:31:42 2007 -0400 UHCI: Fix problem caused by lack of terminating QH This patch (as871) fixes a problem introduced by an earlier change. It turns out that some systems really do need to have a terminating skeleton QH present whenever FSBR is on. I don't know any way to tell which systems do need it and which don't; the easiest answer is to have it there always. This fixes the NumLock-hang bug reported by Jiri Slaby. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit bf5b4ba3d9f37d41d940a92822b534561abf4f4c Author: Prarit Bhargava Date: Fri Mar 23 12:15:05 2007 -0400 PCI: Fix warning message in PCIE port driver PCIE error output should conform to vendor_id:device_id. Signed-off-by: Prarit Bhargava Signed-off-by: Greg Kroah-Hartman commit 9208ee8286ea2c0136a4bc58638b0295bad791c8 Author: Jean Delvare Date: Sat Mar 24 16:56:44 2007 +0100 PCI: Stop unhiding the SMBus on Toshiba laptops It was found that the Toshiba laptops with hidden Intel SMBus have SMM code handling the thermal management which accesses the SMBus. Thus it is not safe to unhide it and let Linux access it. We have to leave the SMBus hidden. SMM is a pain, really. This fixes bugs #6315 and #6395, for good this time. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 5fabdb94394bef0651479fc14394121c60d5aff7 Author: Jonathan Corbet Date: Thu Mar 22 16:53:40 2007 -0600 PCI: Fix up PCI power management doc Update the documentation of PCI power management functions. Signed-off-by: Jonathan Corbet Signed-off-by: Greg Kroah-Hartman commit f7a9dae7c41580761e7f6de1d508c010b1b44993 Author: Matt Domsch Date: Fri Mar 23 23:58:07 2007 -0500 pci: set pci=bfsort for PowerEdge R900 This patch automatically enables pci=bfsort for the Dell PowerEdge R900. This is necessary to ensure the onboard NICs enumerate in the proper order, similar to the other systems already on the list. Signed-off-by: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit 79f4f6428f6ceb9af57330092271bda028c23a96 Author: Alexey Dobriyan Date: Mon Mar 26 14:09:52 2007 -0700 [NET]: Correct accept(2) recovery after sock_attach_fd() * d_alloc() in sock_attach_fd() fails leaving ->f_dentry of new file NULL * bail out to out_fd label, doing fput()/__fput() on new file * but __fput() assumes valid ->f_dentry and dereferences it Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 291bc047e125ff02c9affe06a7df28bed57b054d Author: Thomas Gleixner Date: Mon Mar 26 11:21:08 2007 +0200 [PATCH] clockevents: remove bad designed sysfs support for now The current sysfs support of clockevents does not obey the "only one value per file" rule. The real fix is not 2.6.21 material. Therefor remove the sysfs support for now. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Acked-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 513daadd152ddbf32cb6d0447ddba3427ce5b8e8 Author: Suleiman Souhlal Date: Mon Mar 26 23:03:20 2007 +0200 ide: use correct IDE error recovery IDE error recovery is using IDLE IMMEDIATE if the drive is busy or has DRQ set. This violates the ATA spec (can only send IDLE IMMEDIATE when drive is not busy) and really hoses up some drives (modern drives will not be able to recover using this error handling). The correct thing to do is issue a SRST followed by a SET FEATURES command. This is what Western Digital recommends for error recovery and what Western Digital says Windows does.  It also does not violate the ATA spec as far as I can tell. Bart: * port the patch over the current tree * undo the recalibration code removal * send SET FEATURES command after checking for good drive status * don't check whether the current request is of REQ_TYPE_ATA_{CMD,TASK} type because we need to send SET FEATURES before handling any requests * some pre-ATA4 drives require INITIALIZE DEVICE PARAMETERS command before other commands (except IDENTIFY) so send SET FEATURES only if there are no pending drive->special requests * update comments and patch description * any bugs introduced by this patch are mine and not Suleiman's :-) Signed-off-by: Suleiman Souhlal Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 362ebd83adb4ff2761b6f49a3570f501c3c7e467 Author: Albert Lee Date: Mon Mar 26 23:03:19 2007 +0200 pdc202xx_new: Enable ATAPI DMA [ bart: the ressurection of 2 years old patch which slipped thru the cracks (thanks to Sergei Shtylyov for finding it) ] These is the patch to turn on pdc202xx_new for ATAPI DMA. When testing, it works fine without the (request_bufflen % 256) workaround as needed in libata. ide-scsi filters out (pc->request_transfer % 1024) and use PIO, so the pdc202xx ATAPI DMA problem is avoid. Both ide-cd and ide-scsi won't hit the ATAPI DMA problem on pdc202xx_new. Signed-off-by: Albert Lee Signed-off-by: Bartlomiej Zolnierkiewicz commit b43c5f3dbe0c93dc205a7c69f892b94b7037d862 Author: Patrick Ringl Date: Mon Mar 26 23:03:19 2007 +0200 ide: cosmetic adaption of drivers/ide/Kconfig concerning SATA Since especially Serial ATA has it's own menu point now, I guess we can change the description of the deprecated SATA driver as well, since the new libATA subsystem is not configured through a SCSI low-level driver anymore, but has it's own menu point. From: Patrick Ringl Signed-off-by: Bartlomiej Zolnierkiewicz commit 8799620400b0b1a4729d8be828b5bfb3d2a8db1a Author: Bartlomiej Zolnierkiewicz Date: Mon Mar 26 23:03:19 2007 +0200 ide: fix locking for manual DMA enable/disable ("hdparm -d") Since hwif->ide_dma_check and hwif->ide_dma_on never queue any commands (ide_config_drive_speed() sets transfer mode using polling and has no error recovery) we are safe with setting hwgroup->busy for the time while DMA setting for a drive is changed (so it won't race against I/O commands in fly). I audited briefly all ->ide_dma_check/->ide_dma_on/->tuneproc/->speedproc implementations and they all look OK wrt to this change. This patch finally allowed me to close kernel bugzilla bug #8169 (once again thanks to Patrick Horn for reporting the issue & testing patches). Cc: Sergei Shtylyov Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit f68d9320cd06fdec19735143b42e5197b63165b4 Author: Bartlomiej Zolnierkiewicz Date: Mon Mar 26 23:03:18 2007 +0200 ide: revert "ide: fix drive side 80c cable check, take 2" for now "ide: fix drive side 80c cable check, take 2" patch from Tejun Heo (commit fab59375b9543f84d1714f7dd00f5d11e531bd3e) fixed 80c bit test (bit13 of word93) but we also need to fix master/slave IDENTIFY order (slave device should be probed first in order to make it release PDIAG- signal) and we should also check for pre-ATA3 slave devices (which may not release PDIAG- signal). [ Unfortunately the fact that IDE driver doesn't reset devices itself helps only a bit as it seems that some BIOS-es reset ATA devices after programming the chipset, some BIOS-es can be set to not probe/configure selected devices, there may be no BIOS in case of add-on cards etc. ] Since we are quite late in the release cycle and the required changes will affect a lot of systems just revert the fix for now. [ Please also see libata commit f31f0cc2f0b7527072d94d02da332d9bb8d7d94c. ] Thanks goes out to Fernando Mitio Yamada for reporting the problem and patiently testing patches. Acked-by: Tejun Heo Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit e675c0d2bf523a80098c843603ccc091d3720fb4 Author: Ralph Wuerthner Date: Mon Mar 26 20:42:43 2007 +0200 [S390] zcrypt: Fix ap_poll_requests counter in lost requests error path. In the unlikely event that an AP device lost requests, don't forget to update the ap_poll_requests counter too. Same must happen in case an AP device is removed while there are still outstanding requests. Cc: Martin Schwidefsky Signed-off-by: Ralph Wuerthner Signed-off-by: Heiko Carstens commit c6a48264739e3486f66e5b21a543c9573b713621 Author: Ralph Wuerthner Date: Mon Mar 26 20:42:42 2007 +0200 [S390] zcrypt: Fix possible dead lock in AP bus module. If a AP device is unconfigured __ap_poll_all() will call device_unregister() in software interrupt context which can cause dead locks. To fix this the device will be only marked as unconfigured and the device_unregister() call will be done later by either ap_scan_bus() or ap_queue_message() in process context. Cc: Martin Schwidefsky Signed-off-by: Ralph Wuerthner Signed-off-by: Heiko Carstens commit 25c61a1fe8c97d1352a2dc0eda25128b3be0db27 Author: Cornelia Huck Date: Mon Mar 26 20:42:41 2007 +0200 [S390] cio: Device status validity. Only accumulate device status field in irb if it is valid. Cc: Martin Schwidefsky Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens commit b70842df77615309d76bcdd63bd289993e0844f2 Author: David Wilder Date: Mon Mar 26 20:42:40 2007 +0200 [S390] kprobes: Align probe address. Running a probe on s390 with a probe address that is not 4 byte aligned results in a Kernel BUG. The problem is that the stura instruction used by swap_instruction requires the destination address to be 4 byte aligned. As stura only writes 4 bytes, aligning to the next 4 byte aligned address results in the breakpoint instruction being stored past the probe address. The fix is to align the address backward (to the previous 4 byte aligned address) and writing the two byte breakpoint instruction in the appropriate bytes. Cc: Martin Schwidefsky Signed-off-by: David Wilder Signed-off-by: Heiko Carstens commit afbc1e994ddcf3b6fe2dc928ee8dc31a5d0c3118 Author: Heiko Carstens Date: Mon Mar 26 20:42:39 2007 +0200 [S390] Fix TCP/UDP pseudo header checksum computation. git commit f994aae1bd8e4813d59a2ed64d17585fe42d03fc changed the function declaration of csum_tcpudp_nofold. Argument types were changed from unsigned long to __be32 (unsigned int). Therefore we lost the implicit type conversion that zeroed the upper half of the registers that are used to pass parameters. Since the inline assembly relied on this we ended up adding random values and wrong checksums were created. Showed only up on machines with more than 4GB since gcc produced code where the registers that are used to pass 'saddr' and 'daddr' previously contained addresses before calling this function. Fix this by using 32 bit arithmetics and convert code to C, since gcc produces better code than these hand-optimized versions. Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 04439694ea82fed62a97fd474147966381201954 Author: Peter Oberparleiter Date: Mon Mar 26 20:42:38 2007 +0200 [S390] dasd: Work around gcc bug. gcc incorrectly removes initialization of register 0 in dasd diag inline assembly. Use different register to work around this compiler bug. Cc: Martin Schwidefsky Signed-off-by: Peter Oberparleiter Signed-off-by: Heiko Carstens commit d32b687e2e16e8174e88f186c3bae39a13e57b3d Author: Adrian Bunk Date: Mon Mar 5 02:49:48 2007 +0100 9p: make struct v9fs_cached_file_operations static This patch makes te needlessly global struct v9fs_cached_file_operations static. Signed-off-by: Adrian Bunk Signed-off-by: Eric Van Hensbergen commit 165de5b7f2719c1984956504128545839762d635 Author: G. Liakhovetski Date: Sun Mar 25 19:04:09 2007 -0700 [PPP]: Don't leak an sk_buff on interface destruction. Signed-off-by: G. Liakhovetski Acked-by: Paul Mackerras Signed-off-by: David S. Miller commit 035832a2806408ff209a0cb94bd64ea7dcf4d222 Author: Patrick McHardy Date: Sat Mar 24 22:13:25 2007 -0700 [NET_SCHED]: Fix ingress locking Ingress queueing uses a seperate lock for serializing enqueue operations, but fails to properly protect itself against concurrent changes to the qdisc tree. Use queue_lock for now since the real fix it quite intrusive. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3fa76ee6b4a8dd0efda4e78e96f5b19533b3dea Author: Patrick McHardy Date: Sat Mar 24 22:13:06 2007 -0700 [NET_SCHED]: cls_basic: fix NULL pointer dereference cls_basic doesn't allocate tp->root before it is linked into the active classifier list, resulting in a NULL pointer dereference when packets hit the classifier before its ->change function is called. Reported by Chris Madden Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c93a882ebe673b5e6da0a70fd433f7517e032d23 Author: Adrian Bunk Date: Sat Mar 24 21:01:31 2007 -0700 [DCCP]: make dccp_write_xmit_timer() static again dccp_write_xmit_timer() needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 20bd7dd4cabfd0d6b6b70b99e88df901480a9841 Author: Michael Chan Date: Sat Mar 24 20:58:51 2007 -0700 [TG3]: Update version and reldate. Update version to 3.75. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d18edcb212d7dc864a59e6aa9b6b9826299e0210 Author: Michael Chan Date: Sat Mar 24 20:57:11 2007 -0700 [TG3]: Exit irq handler during chip reset. On most tg3 chips, the memory enable bit in the PCI command register gets cleared during chip reset and must be restored before accessing PCI registers using memory cycles. The chip does not generate interrupt during chip reset, but the irq handler can still be called because of irq sharing or irqpoll. Reading a register in the irq handler can cause a master abort in this scenario and may result in a crash on some architectures. Use the TG3_FLAG_CHIP_RESETTING flag to tell the irq handler to exit without touching any registers. The checking of the flag is in the "slow" path of the irq handler and will not affect normal performance. The msi handler is not shared and therefore does not require checking the flag. Thanks to Bernhard Walle for reporting the problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1c46ae05d96f77f349ae60c799acb6ac6ddf07a8 Author: Michael Chan Date: Sat Mar 24 20:54:37 2007 -0700 [TG3]: Eliminate the unused TG3_FLAG_SPLIT_MODE flag. This flag to support multiple PCIX split completions was never used because of hardware bugs. This will make room for a new flag. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f11e6659ce9058928d73ff440f9b40a818d628ab Author: David S. Miller Date: Sat Mar 24 20:36:25 2007 -0700 [IPV6]: Fix routing round-robin locking. As per RFC2461, section 6.3.6, item #2, when no routers on the matching list are known to be reachable or probably reachable we do round robin on those available routes so that we make sure to probe as many of them as possible to detect when one becomes reachable faster. Each routing table has a rwlock protecting the tree and the linked list of routes at each leaf. The round robin code executes during lookup and thus with the rwlock taken as a reader. A small local spinlock tries to provide protection but this does not work at all for two reasons: 1) The round-robin list manipulation, as coded, goes like this (with read lock held): walk routes finding head and tail spin_lock(); rotate list using head and tail spin_unlock(); While one thread is rotating the list, another thread can end up with stale values of head and tail and then proceed to corrupt the list when it gets the lock. This ends up causing the OOPS in fib6_add() later onthat many people have been hitting. 2) All the other code paths that run with the rwlock held as a reader do not expect the list to change on them, they expect it to remain completely fixed while they hold the lock in that way. So, simply stated, it is impossible to implement this correctly using a manipulation of the list without violating the rwlock locking semantics. Reimplement using a per-fib6_node round-robin pointer. This way we don't need to manipulate the list at all, and since the round-robin pointer can only ever point to real existing entries we don't need to perform any locking on the changing of the round-robin pointer itself. We only need to reset the round-robin pointer to NULL when the entry it is pointing to is removed. The idea is from Thomas Graf and it is very similar to how this was implemented before the advanced router selection code when in. Signed-off-by: David S. Miller commit a979101106f549f4ed80d6dcbc35077be34d4346 Author: Thomas Graf Date: Sat Mar 24 20:33:27 2007 -0700 [DECNet] fib: Fix out of bound access of dn_fib_props[] Fixes a typo which caused fib_props[] to have the wrong size and makes sure the value used to index the array which is provided by userspace via netlink is checked to avoid out of bound access. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a0ee18b9b7d3847976c6fb315c06a34fb296de0e Author: Thomas Graf Date: Sat Mar 24 20:32:54 2007 -0700 [IPv4] fib: Fix out of bound access of fib_props[] Fixes a typo which caused fib_props[] to have the wrong size and makes sure the value used to index the array which is provided by userspace via netlink is checked to avoid out of bound access. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 954b2e7f4c37cbcdcf4ca7ac47524f3f6bf30119 Author: Ralf Baechle Date: Sat Mar 24 12:54:26 2007 -0700 [NET] AX.25 Kconfig and docs updates and fixes o The AX.25 Howto is unmaintained since several years. I've replaced it with a wiki at http://www.linux-ax25.org which provides more uptodate information. o Change default for AX25_DAMA_SLAVE to Y. AX25_DAMA_SLAVE only compiles in support for DAMA but doesn't activate it. I hope this gets Linux distributions to ship their AX.25 kernels with AX25_DAMA_SLAVE enabled. The price for this would be very small. o Delete historic changelog from comments, that's what SCM systems are meant to do. o ---help--- in Kconfig looks so yellingly eye insulting. Use just help. o Rewrite the commented out piece of old Linux 2.4 configuration language to Kconfig for consistency. o Fixup dependencies. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit ecbb416939da77c0d107409976499724baddce7b Author: Alexey Kuznetsov Date: Sat Mar 24 12:52:16 2007 -0700 [NET]: Fix neighbour destructor handling. ->neigh_destructor() is killed (not used), replaced with ->neigh_cleanup(), which is called when neighbor entry goes to dead state. At this point everything is still valid: neigh->dev, neigh->parms etc. The device should guarantee that dead neighbor entries (neigh->dead != 0) do not get private part initialized, otherwise nobody will cleanup it. I think this is enough for ipoib which is the only user of this thing. Initialization private part of neighbor entries happens in ipib start_xmit routine, which is not reached when device is down. But it would be better to add explicit test for neigh->dead in any case. Signed-off-by: David S. Miller commit e1701c68c1d1aeb3213d7016593ea9a1d4309417 Author: Thomas Graf Date: Sat Mar 24 12:46:02 2007 -0700 [NET]: Fix fib_rules compatibility breakage Based upon a patch from Patrick McHardy. The fib_rules netlink attribute policy introduced in 2.6.19 broke userspace compatibilty. When specifying a rule with "from all" or "to all", iproute adds a zero byte long netlink attribute, but the policy requires all addresses to have a size equal to sizeof(struct in_addr)/sizeof(struct in6_addr), resulting in a validation error. Check attribute length of FRA_SRC/FRA_DST in the generic framework by letting the family specific rules implementation provide the length of an address. Report an error if address length is non zero but no address attribute is provided. Fix actual bug by checking address length for non-zero instead of relying on availability of attribute. Signed-off-by: Thomas Graf Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5f85813c33ddbf6d11ccfdbcc01f176e24a76bd2 Author: Sridhar Samudrala Date: Fri Mar 23 11:39:51 2007 -0700 [SCTP]: Update SCTP Maintainers entry Add Vlad Yasevich as the primary maintainer of SCTP and add a link to the project website. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit ea3d0d77086d2c2fbe73adcc1ad075ce1f5be0e0 Author: Robert P. J. Day Date: Thu Mar 22 23:35:08 2007 -0700 [NET]: remove unused header file: drivers/net/wan/lmc/lmc_media.h Signed-off-by: Robert P. J. Day Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit bb9ba31ca3b88fd396e38950d1caedf2f83521c6 Author: Joerg Dorchain Date: Tue Mar 6 02:46:54 2007 -0800 [SCSI] gdth: fix oops in gdth_copy_cmd() Recent alterations to the gdth_fill_raw_cmd() path no longer set the sg_ranz field for zero transfer commands. However, this field is used lower down in the function to initialise ha->cmd_len to the size of the firmware packet. If this uninitialised field contains a bogus value, ha->cmd_len can become much larger than the actual firmware packet and end up oopsing in gdth_copy_cmd() as it tries to copy this huge packet to the device (usually because it runs into an unallocated page). The fix is to initialise the sg_ranz field to zero at the start of gdth_fill_raw_cmd(). Signed-off-by: Joerg Dorchain Acked-by: "Leubner, Achim" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit ba76ef246090601b783c1e6190e22b8b149a105f Author: Judith Lebzelter Date: Fri Mar 9 13:07:44 2007 -0800 [SCSI] mptsas: Fix oops for insmod during kexec This fix's an oops during driver load time. mptsas_probe calls mpt_attach(over in mptbase.c). Inside that call, we read some manufacturing config pages to setup some defaults. While reading the config pages, the firmware doesn't complete the reply in time, and we have a timeout. The timeout results in hardreset handler being called. The hardreset handler calls all the fusion upper layer driver reset callback handlers. The mptsas_ioc_reset function is the callback handler in mptsas.c. So where I'm getting to, is mptsas_ioc_reset is getting called before scsi_host_alloc is called, and the pointer ioc->sh is NULL as well as the hostdata. Signed-off-by: Judith Lebzelter Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 5daa49ef05c44ce94bed0bab0f9ba4a9e952863b Author: Linas Vepstas Date: Thu Mar 8 16:19:11 2007 -0600 [SCSI] lpfc: avoid double-free during PCI error failure If a PCI error is detected that cannot be recovered from, there will be a double call of lpfc_pci_remove_one(), with the second call resulting in a null-pointer dereference. The first call occurs in lpfc_io_error_detected(), and the second call during pci device remove. This patch eliminates the first call; its un-needed. Signed-off-by: Linas Vepstas Acked-by: James Smart Signed-off-by: James Bottomley