Permalink
Commits on Jan 14, 2009
  1. Linux 2.6.27.11

    gregkh committed Jan 14, 2009
  2. AMD IOMMU: fix wrong loop counter in free_pagetables

    Upstream commit 3cc3d84
    
    This fixes a bug which causes the driver to go in an endless loop if
    initialization fails and its resources are freed.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Joerg Roedel committed with gregkh Dec 19, 2008
  3. AMD IOMMU: initialize phys_addr correctly in iommu_page_map

    Upstream commit bb9d4ff
    
    Due to this bug mappings for devices requested by the ACPI table are
    incorrect.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Joerg Roedel committed with gregkh Dec 19, 2008
  4. AMD IOMMU: allocate rlookup_table with __GFP_ZERO

    Upstream commit 83fd5cc
    
    This is pointer list and if we dereference an uninitialized pointer
    later this results in a kernel crash at boot. Happens typically after
    3-5 hours of rebooting.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Joerg Roedel committed with gregkh Dec 19, 2008
  5. AMD IOMMU: reset command buffer pointers manually

    Upstream commit cf558d2
    
    Under special circumstances the IOMMU does not reset the head and tail
    pointer of its command ringbuffer to zero when the command base is
    written. This causes the IOMMU to fetch random memory and executes it as
    an command. Since these commands are likely illegal IOMMU stops fetching
    further commands including IOTLB flushes. This leads to completion wait
    errors at boot and in some cases to data corruption and kernel crashes.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Joerg Roedel committed with gregkh Dec 19, 2008
  6. drivers/net: starfire: Fix napi ->poll() weight handling

    commit 9a3de25 upstream.
    
    starfire napi ->poll() handler can return work == weight after calling
    netif_rx_complete() (if there is no more work). It is illegal and this
    patch fixes it.
    
    Reported-by: Alexander Huemer <alexander.huemer@sbg.ac.at>
    Tested-by: Alexander Huemer <alexander.huemer@sbg.ac.at>
    Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jarek Poplawski committed with gregkh Dec 16, 2008
  7. parisc: disable UP-optimized flush_tlb_mm

    commit 5289f46 upstream.
    
    flush_tlb_mm's "optimized" uniprocessor case of allocating a new
    context for userspace is exposing a race where we can suddely return
    to a syscall with the protection id and space id out of sync, trapping
    on the next userspace access.
    
    Debugged-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    Tested-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jkkm committed with gregkh Dec 23, 2008
  8. ALSA: hda - Add missing terminators in patch_sigmatel.c

    commit 574f3c4 upstream.
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Herton Ronaldo Krzesinski committed with gregkh Dec 23, 2008
  9. cciss: fix problem that deleting multiple logical drives could cause …

    …a panic
    
    commit d8a0be6 upstream.
    
    Fix problem that deleting multiple logical drives could cause a panic.
    
    It fixes a panic which can be easily reproduced in the following way: Just
    create several "arrays," each with multiple logical drives via hpacucli,
    then delete the first array, and it will blow up in deregister_disk(), in
    the call to get_host() when it tries to dig the hba pointer out of a NULL
    queue pointer.
    
    The problem has been present since my code to make rebuild_lun_table
    behave better went in.
    
    Signed-off-by: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Stephen M. Cameron committed with gregkh Dec 18, 2008
  10. SCSI: aacraid: disable Dell Percraid quirk on Adaptec 2200S and 2120S

    commit b21227c upstream.
    
    A lot of 64bit machines with Adaptec 2200S and 2120S controllers don't
    recognize SCSI disks any more with the patch
    
    commit 94cf6ba
    Author: Salyzyn, Mark <mark_salyzyn@adaptec.com>
    Date:   Thu Dec 13 16:14:18 2007 -0800
    
        [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di
    
    but fail with tons of "aac_srb: aac_fib_send failed with status: 8195"
    instead. This patch disables the quirk introduced in the change cited
    above for those two controllers again.
    
    [thenzl: added 2120S Controller]
    Signed-off-by: Gernot Hillier <gernot.hillier@siemens.com>
    Signed-off-by: Tomas Henzl <thenzl@redhat.com>
    Acked-by: Matt Domsch <Matt_Domsch@dell.com>
    Cc: AACRAID list <aacraid@adaptec.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    gernot-h committed with gregkh Sep 17, 2008
  11. SCSI: ibmvstgt: move crq_queue_create to the end of initialization

    commit 5745803 upstream.
    
    Calling crq_queue_create could lead to the creation of a rport. We
    need to set up everything before creating a rport. This moves
    crq_queue_create to the end of initialization to avoid a race which
    causes an oops if lost.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    Reported-by: Olaf Hering <olh@suse.de>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    bjking1 committed with gregkh Dec 9, 2008
  12. ALSA: Fix a Oops bug in omap soc driver.

    commit 19b3f31 upstream.
    
    There will be a Oops or frequent underrun messages when playing music with
    omap soc driver, this is because a data region is incorretly sized, other data
    region will be overwriten when writing to this data region.
    
    Signed-off-by: Stanley Miao <stanley.miao@windriver.com>
    Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Stanley Miao committed with gregkh Dec 19, 2008
  13. md: Don't read past end of bitmap when reading bitmap.

    commit a2ed961 upstream.
    
    When we read the write-intent-bitmap off the device, we currently
    read a whole number of pages.
    When PAGE_SIZE is 4K, this works due to the alignment we enforce
    on the superblock and bitmap.
    When PAGE_SIZE is 64K, this case read past the end-of-device
    which causes an error.
    
    When we write the superblock, we ensure to clip the last page
    to just be the required size.  Copy that code into the read path
    to just read the required number of sectors.
    
    Signed-off-by: Neil Brown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    neilbrown committed with gregkh Dec 19, 2008
  14. ioat: wait for self-test completion

    commit 532d3b1 upstream.
    
    As part of the ioat_dma self-test it performs a printk from a completion
    callback.  Depending on the system console configuration this output can
    take longer than a millisecond causing the self-test to fail.  Introduce a
    completion with a generous timeout to mitigate this failure.
    
    Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    djbw committed with gregkh Dec 4, 2008
  15. dmaengine: protect 'id' from concurrent registrations

    commit b0b42b1 upstream.
    
    There is a possibility to have two devices registered with the same id.
    
    Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    djbw committed with gregkh Dec 4, 2008
  16. async_xor: dma_map destination DMA_BIDIRECTIONAL

    commit a06d568 upstream.
    
    Mapping the destination multiple times is a misuse of the dma-api.
    Since the destination may be reused as a source, ensure that it is only
    mapped once and that it is mapped bidirectionally.  This appears to add
    ugliness on the unmap side in that it always reads back the destination
    address from the descriptor, but gcc can determine that dma_unmap is a
    nop and not emit the code that calculates its arguments.
    
    Cc: Saeed Bishara <saeed@marvell.com>
    Acked-by: Yuri Tikhonov <yur@emcraft.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    djbw committed with gregkh Dec 8, 2008
  17. iwlagn: downgrade BUG_ON in interrupt

    commit 55d6a3c upstream.
    
    This BUG_ON really shouldn't trigger, but if it does, as on my machine,
    it leaves you wondering what happened because you won't see it. Let's
    instead leak a bit of state and memory and at least make it possible to
    report it to the kerneloops project to track it.
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Cc: François Valenduc <francois.valenduc@tvcablenet.be>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jmberg committed with gregkh Sep 23, 2008
  18. powerpc: Fix corruption error in rh_alloc_fixed()

    commit af4d364 upstream.
    
    There is an error in rh_alloc_fixed() of the Remote Heap code:
    If there is at least one free block blk won't be NULL at the end of the
    search loop, so -ENOMEM won't be returned and the else branch of
    "if (bs == s || be == e)" will be taken, corrupting the management
    structures.
    
    Signed-off-by: Guillaume Knispel <gknispel@proformatique.com>
    Acked-by: Timur Tabi <timur@freescale.com>
    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Guillaume Knispel committed with gregkh Dec 9, 2008
  19. USB: Unusual devs patch for Nokia 3500c

    commit 48e1a54 upstream.
    
    T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=0421 ProdID=0060 Rev= 5.51
    S:  Manufacturer=Nokia
    S:  Product=Nokia 3500c
    S:  SerialNumber=357687010280751
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    
    From: Ozan Sener <themgzzy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    meegee committed with gregkh Dec 8, 2008
  20. USB: storage: unusual_devs.h: Nokia 3109c addition

    commit 1393fce upstream.
    
    2.6.26(.x, cannot remember) could handle the microSD card in my Nokia
    3109c attached via USB as mass storage, 2.6.27(.x, up to and included
    2.6.27.8) cannot. Please find the attached patch which fixes this
    regression, and a copy of /proc/bus/usb/devices with my phone plugged in
    running with this patch on Frugalware.
    
    T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=0421 ProdID=0063 Rev= 6.01
    S:  Manufacturer=Nokia
    S:  Product=Nokia 3109c
    S:  SerialNumber=359561013742570
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    
    From: CSÉCSY László <boobaa@frugalware.org>
    Cc: Phil Dibowitz <phil@ipom.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    boobaa committed with gregkh Dec 9, 2008
  21. usb-storage: update unusual_devs entry for Nokia 5310

    commit a4b1880 upstream.
    
    This patch (as1179) updates the unusual_devs entry for Nokia's 5310
    phone to include a more recent firmware revision.
    
    This fixes Bugzilla #12099.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Tested-by: Robson Roberto Souza Peixoto <robsonpeixoto@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Dec 1, 2008
  22. USB: gadget: fix rndis working at high speed

    commit 7c12414 upstream.
    
    Fix a bug specific to highspeed mode in the recently updated RNDIS
    support:  it wasn't setting up the high speed notification endpoint,
    which prevented high speed RNDIS links from working.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Tested-by: Anand Gadiyar <gadiyar@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    David Brownell committed with gregkh Nov 25, 2008
Commits on Dec 18, 2008
  1. Linux 2.6.27.10

    gregkh committed Dec 18, 2008
  2. xilinx_hwicap: remove improper wording in license statement

    commit 09a35ce upstream.
    
    GPLv2 doesn't allow additional restrictions to be imposed on any
    code, so this wording needs to be removed from these files.
    
    Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    gregkh committed Dec 7, 2008
  3. setup_per_zone_pages_min(): take zone->lock instead of zone->lru_lock

    commit 1125b4e upstream.
    
    This replaces zone->lru_lock in setup_per_zone_pages_min() with zone->lock.
    There seems to be no need for the lru_lock anymore, but there is a need for
    zone->lock instead, because that function may call move_freepages() via
    setup_zone_migrate_reserve().
    
    Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Tested-by: Yasunori Goto <y-goto@jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Gerald Schaefer committed with gregkh Oct 19, 2008
  4. V4L/DVB (9621): Avoid writing outside shadow.bytes[] array

    commit 4942643 upstream.
    
    There were no check about the limits of shadow.bytes array. This offers
    a risk of writing values outside the limits, overriding other data
    areas.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Mauro Carvalho Chehab committed with gregkh Nov 13, 2008
  5. macfb: Do not overflow fb_fix_screeninfo.id

    commit 89c223a upstream.
    
    Don't overflow the 16-character fb_fix_screeninfo id string (fixes some
    console erasing and blanking artifacts). Have the ID default to "Unknown"
    on machines with no built-in video and no nubus devices. Check for
    fb_alloc_cmap failure.
    
    Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    fthain committed with gregkh Nov 18, 2008
  6. b1isa: fix b1isa_exit() to really remove registered capi controllers

    commit 1c594c0 upstream.
    
    On "/etc/init.d/capiutils stop", this oops happened.
    
    The oops happens on reading /proc/capi/controllers because
    capi_ctrl->procinfo is called for the wrongly not unregistered
    controller, which points to b1isa_procinfo(), which was removed on
    module unload.
    
    b1isa_exit() did not call b1isa_remove() for its controllers because
    io[0] == 0 on module unload despite having been 0x340 on module load.
    
    Besides, just removing the controllers that where added on module
    load time and not those that were added later via b1isa_add_card() is
    wrong too - the place where all added cards are found is isa_dev[].
    
    relevant dmesg lines:
    
    [    0.000000] Linux version 2.6.27.4 (w@shubashi) (gcc version 4.3.2 (Debian 4.3.2-1) ) #3 Thu Oct 30 16:49:03 CET 2008
    
    [   67.403555] CAPI Subsystem Rev 1.1.2.8
    [   68.529154] capifs: Rev 1.1.2.3
    [   68.563292] capi20: Rev 1.1.2.7: started up with major 68 (middleware+capifs)
    [   77.026936] b1: revision 1.1.2.2
    [   77.049992] b1isa: revision 1.1.2.3
    [   77.722655] kcapi: Controller [001]: b1isa-340 attached
    [   77.722671] b1isa: AVM B1 ISA at i/o 0x340, irq 5, revision 255
    [   81.272669] b1isa-340: card 1 "B1" ready.
    [   81.272683] b1isa-340: card 1 Protocol: DSS1
    [   81.272689] b1isa-340: card 1 Linetype: point to multipoint
    [   81.272695] b1isa-340: B1-card (3.11-03) now active
    [   81.272702] kcapi: card [001] "b1isa-340" ready.
    
    [  153.721281] kcapi: card [001] down.
    [  154.151889] BUG: unable to handle kernel paging request at e87af000
    [  154.152081] IP: [<e87af000>]
    [  154.153292] *pde = 2655b067 *pte = 00000000
    [  154.153307] Oops: 0000 [#1]
    [  154.153360] Modules linked in: rfcomm l2cap ppdev lp ipt_MASQUERADE tun capi capifs kernelcapi ac battery nfsd exportfs nfs lockd nfs_acl sunrpc sit tunnel4 bridge stp llc ipt_REJECT ipt_LOG xt_tcpudp xt_state iptable_filter iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables nls_utf8 isofs nls_base zlib_inflate loop ipv6 netconsole snd_via82xx dvb_usb_dib0700 gameport dib7000p dib7000m dvb_usb snd_ac97_codec ac97_bus dvb_core mt2266 snd_pcm tuner_xc2028 dib3000mc dibx000_common mt2060 dib0070 snd_page_alloc snd_mpu401_uart snd_seq_midi snd_seq_midi_event btusb snd_rawmidi bluetooth snd_seq snd_timer snd_seq_device snd via686a i2c_viapro soundcore i2c_core parport_pc parport button dm_mirror dm_log dm_snapshot floppy sg ohci1394 uhci_hcd ehci_hcd 8139too mii ieee1394 usbcore sr_mod cdrom sd_mod thermal processor fan [last unloaded: b1]
    [  154.153360]
    [  154.153360] Pid: 4132, comm: capiinit Not tainted (2.6.27.4 #3)
    [  154.153360] EIP: 0060:[<e87af000>] EFLAGS: 00010286 CPU: 0
    [  154.153360] EIP is at 0xe87af000
    [  154.153360] EAX: e6b9ccc8 EBX: e6b9ccc8 ECX: e87a0c67 EDX: e87af000
    [  154.153360] ESI: e142bbc0 EDI: e87a56e0 EBP: e0505f0c ESP: e0505ee4
    [  154.153360]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
    [  154.153360] Process capiinit (pid: 4132, ti=e0504000 task=d1196cf0 task.ti=e0504000)
    [  154.153360] Stack: e879f650 00000246 e0505ef4 c01472eb e0505f0c 00000246 e7001780 fffffff4
    [  154.153360]        fffffff4 e142bbc0 e0505f48 c01a56c6 00000400 b805e000 d102dc80 e142bbe0
    [  154.153360]        00000000 e87a56e0 00000246 e12617ac 00000000 00000000 e1261760 fffffffb
    [  154.153360] Call Trace:
    [  154.153360]  [<e879f650>] ? controller_show+0x20/0x90 [kernelcapi]
    [  154.153360]  [<c01472eb>] ? trace_hardirqs_on+0xb/0x10
    [  154.153360]  [<c01a56c6>] ? seq_read+0x126/0x2f0
    [  154.153360]  [<c01a55a0>] ? seq_read+0x0/0x2f0
    [  154.153360]  [<c01c033c>] ? proc_reg_read+0x5c/0x90
    [  154.153360]  [<c0189919>] ? vfs_read+0x99/0x140
    [  154.153360]  [<c01c02e0>] ? proc_reg_read+0x0/0x90
    [  154.153360]  [<c0189a7d>] ? sys_read+0x3d/0x70
    [  154.153360]  [<c0103c3d>] ? sysenter_do_call+0x12/0x35
    [  154.153360]  =======================
    [  154.153360] Code:  Bad EIP value.
    [  154.153360] EIP: [<e87af000>] 0xe87af000 SS:ESP 0068:e0505ee4
    [  154.153360] ---[ end trace 23750b6c2862de94 ]---
    
    Signed-off-by: Wilfried Klaebe <linux-kernel@lebenslange-mailadresse.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Karsten Keil <kkeil@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Wilfried Klaebe committed with gregkh Dec 4, 2008
  7. SUNRPC: Fix a performance regression in the RPC authentication code

    commit 23918b0 upstream.
    
    Fix a regression reported by Max Kellermann whereby kernel profiling
    showed that his clients were spending 45% of their time in
    rpcauth_lookup_credcache.
    
    It turns out that although his processes had identical uid/gid/groups,
    generic_match() was failing to detect this, because the task->group_info
    pointers were not shared. This again lead to the creation of a huge number
    of identical credentials at the RPC layer.
    
    The regression is fixed by comparing the contents of task->group_info
    if the actual pointers are not identical.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Trond Myklebust committed with gregkh Nov 20, 2008
  8. ieee1394: add quirk fix for Freecom HDD

    commit 25a41b2 upstream.
    
    According to http://bugzilla.kernel.org/show_bug.cgi?id=12206, Freecom
    FireWire Hard Drive 1TB reports max_rom=2 but returns garbage if block
    read requests are used to read the config ROM.  Force max_rom=0 to limit
    them to quadlet read requests.
    
    Reported-by: Christian Mueller <cm1@mumac.de>
    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Stefan Richter committed with gregkh Dec 16, 2008
  9. firewire: fw-ohci: fix IOMMU resource exhaustion

    commit 1d1dc5e upstream.
    
    There is a DMA map/ unmap imbalance whenever a block write request
    packet is sent and then dequeued with ohci_cancel_packet.  The latter
    may happen frequently if the AR resp tasklet is executed before the AT
    req tasklet for the same transaction.
    
    Add the missing dma_unmap_single.  This fixes
    https://bugzilla.redhat.com/show_bug.cgi?id=475156
    
    Reported-by: Emmanuel Kowalski
    Tested-by: Emmanuel Kowalski
    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Stefan Richter committed with gregkh Dec 16, 2008
  10. key: fix setkey(8) policy set breakage

    commit 920da69 upstream.
    
    Steps to reproduce:
    
    	#/usr/sbin/setkey -f
    	flush;
    	spdflush;
    
    	add 192.168.0.42 192.168.0.1 ah 24500 -A hmac-md5 "1234567890123456";
    	add 192.168.0.42 192.168.0.1 esp 24501 -E 3des-cbc "123456789012123456789012";
    
    	spdadd 192.168.0.42 192.168.0.1 any -P out ipsec
    		esp/transport//require
    		ah/transport//require;
    
    setkey: invalid keymsg length
    
    Policy dump will bail out with the same message after that.
    
    -recv(4, "\2\16\0\0\32\0\3\0\0\0\0\0\37\r\0\0\3\0\5\0\377 \0\0\2\0\0\0\300\250\0*\0"..., 32768, 0) = 208
    +recv(4, "\2\16\0\0\36\0\3\0\0\0\0\0H\t\0\0\3\0\5\0\377 \0\0\2\0\0\0\300\250\0*\0"..., 32768, 0) = 208
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Kadianakis George <desnacked@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alexey Dobriyan committed with gregkh Oct 31, 2008
  11. iwlagn: fix RX skb alignment

    commit 4018517 upstream.
    
    So I dug deeper into the DMA problems I had with iwlagn and a kind soul
    helped me in that he said something about pci-e alignment and mentioned
    the iwl_rx_allocate function to check for crossing 4KB boundaries. Since
    there's 8KB A-MPDU support, crossing 4k boundaries didn't seem like
    something the device would fail with, but when I looked into the
    function for a minute anyway I stumbled over this little gem:
    
    	BUG_ON(rxb->dma_addr & (~DMA_BIT_MASK(36) & 0xff));
    
    Clearly, that is a totally bogus check, one would hope the compiler
    removes it entirely. (Think about it)
    
    After fixing it, I obviously ran into it, nothing guarantees the
    alignment the way you want it,  because of the way skbs and their
    headroom are allocated. I won't explain that here nor double-check that
    I'm right, that goes beyond what most of the CC'ed people care about.
    
    So then I came up with the patch below, and so far my system has
    survived minutes with 64K pages, when it would previously fail in
    seconds. And I haven't seen a single instance of the TX bug either. But
    when you see the patch it'll be pretty obvious to you why.
    
    This should fix the following reported kernel bugs:
    
    http://bugzilla.kernel.org/show_bug.cgi?id=11596
    http://bugzilla.kernel.org/show_bug.cgi?id=11393
    http://bugzilla.kernel.org/show_bug.cgi?id=11983
    
    I haven't checked if there are any elsewhere, but I suppose RHBZ will
    have a few instances too...
    
    I'd like to ask anyone who is CC'ed (those are people I know ran into
    the bug) to try this patch.
    
    I am convinced that this patch is correct in spirit, but I haven't
    understood why, for example, there are so many unmap calls. I'm not
    entirely convinced that this is the only bug leading to the TX reply
    errors.
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jmberg committed with gregkh Nov 18, 2008
  12. console ASCII glyph 1:1 mapping

    commit 1c55f18 upstream.
    
    For the console, there is a 1:1 mapping of glyphs which cannot be found
    in the current font.  This seems to be meant as a kind of 'emergency
    fallback' for fonts without unicode mapping which otherwise would
    display nothing readable on the screen.
    
    At the moment it affects all chars for which no substitution character
    is defined.  In particular this means that for all chars (>= 128) where
    there is no iso88591-1/unicode character (e.g.  control character area)
    you'll get the very strange 1:1 mapping of the (cp437) graphics card
    glyphs.
    
    I'm pretty sure that the 1:1 mapping should only affect strict ASCII
    code characters, i.e.  chars < 128.
    
    The patch limits the mapping as it probably was meant anyway.
    
    Signed-off-by: Ingo Brueckl <ib@wupperonline.de>
    Acked-by: H. Peter Anvin <hpa@zytor.com>
    Cc: Egmont Koblinger <egmont@uhulinux.hu>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ib committed with gregkh Dec 10, 2008
  13. unicode table for cp437

    commit f75bc06 upstream.
    
    There is a major bug in the cp437 to unicode translation table.  Char
    0x7c is mapped to U+00a5 which is the Yen sign and wrong.  The right
    mapping is U+00a6 (broken bar).
    
    Furthermore, a mapping for U+00b4 (a widely used character) is missing
    even though easily possible.
    
    The patch fixes these, as well as it provides a few other useful
    mappings.
    
    The changes are as follows:
    
      0x0f (enhancement) enables a sort of currency symbol
      0x27 (bug) enables a sort of acute accent which is a widely used character
      0x44 (enhancement) enables a sort of icelandic capital letter eth
      0x7c (major bug) corrects mapping
      0xeb (enhancement) enables a sort of icelandic small letter eth
      0xee (enhancement) enables a sort of math 'element of'
    
    Signed-off-by: Ingo Brueckl <ib@wupperonline.de>
    Acked-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ib committed with gregkh Dec 10, 2008