06 Dec, 2011

1 commit

  • Reduce the startup time for slave cpus.

    Adds hooks for an arch-specific function for clock calibration.
    These hooks are used on x86. If a newly started cpu has the
    same phys_proc_id as a core already active, uses the TSC for the
    delay loop and has a CONSTANT_TSC, use the already-calculated
    value of loops_per_jiffy.

    This patch reduces the time required to start slave cpus on a
    4096 cpu system from: 465 sec OLD 62 sec NEW

    This reduces boot time on a 4096p system by almost 7 minutes.
    Nice...

    Signed-off-by: Jack Steiner
    Cc: "H. Peter Anvin"
    Cc: John Stultz
    [fix CONFIG_SMP=n build]
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Jack Steiner
     

05 Dec, 2011

3 commits

  • This follows on from the patch applied in 3.2rc1 which creates
    an INTEL_MID configuration. We can now add the entry for
    Medfield specific code. After this is merged the final patch
    will be submitted which moves the rest of the device Kconfig
    dependancies to MRST/MEDFIELD/INTEL_MID as appropriate.

    Signed-off-by: Alan Cox
    Signed-off-by: Ingo Molnar

    Alan Cox
     
  • Nothing should now need it so take it out

    Signed-off-by: Alan Cox
    Signed-off-by: Ingo Molnar

    Alan Cox
     
  • People with old AMD chips are getting hung boots, because commit
    bcb80e53877c ("x86, microcode, AMD: Add microcode revision to
    /proc/cpuinfo") moved the microcode detection too early into
    "early_init_amd()".

    At that point we are *so* early in the booth that the exception tables
    haven't even been set up yet, so the whole

    rdmsr_safe(MSR_AMD64_PATCH_LEVEL, &c->microcode, &dummy);

    doesn't actually work: if the rdmsr does a GP fault (due to non-existant
    MSR register on older CPU's), we can't fix it up yet, and the boot fails.

    Fix it by simply moving the code to a slightly later point in the boot
    (init_amd() instead of early_init_amd()), since the kernel itself
    doesn't even really care about the microcode patchlevel at this point
    (or really ever: it's made available to user space in /proc/cpuinfo, and
    updated if you do a microcode load).

    Reported-tested-and-bisected-by: Larry Finger
    Tested-by: Bob Tracy
    Acked-by: Borislav Petkov
    Cc: Ingo Molnar
    Cc: Srivatsa S. Bhat
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

04 Dec, 2011

1 commit

  • The idea behind commit d91ee5863b71 ("cpuidle: replace xen access to x86
    pm_idle and default_idle") was to have one call - disable_cpuidle()
    which would make pm_idle not be molested by other code. It disallows
    cpuidle_idle_call to be set to pm_idle (which is excellent).

    But in the select_idle_routine() and idle_setup(), the pm_idle can still
    be set to either: amd_e400_idle, mwait_idle or default_idle. This
    depends on some CPU flags (MWAIT) and in AMD case on the type of CPU.

    In case of mwait_idle we can hit some instances where the hypervisor
    (Amazon EC2 specifically) sets the MWAIT and we get:

    Brought up 2 CPUs
    invalid opcode: 0000 [#1] SMP

    Pid: 0, comm: swapper Not tainted 3.1.0-0.rc6.git0.3.fc16.x86_64 #1
    RIP: e030:[] [] mwait_idle+0x6f/0xb4
    ...
    Call Trace:
    [] cpu_idle+0xae/0xe8
    [] cpu_bringup_and_idle+0xe/0x10
    RIP [] mwait_idle+0x6f/0xb4
    RSP

    In the case of amd_e400_idle we don't get so spectacular crashes, but we
    do end up making an MSR which is trapped in the hypervisor, and then
    follow it up with a yield hypercall. Meaning we end up going to
    hypervisor twice instead of just once.

    The previous behavior before v3.0 was that pm_idle was set to
    default_idle regardless of select_idle_routine/idle_setup.

    We want to do that, but only for one specific case: Xen. This patch
    does that.

    Fixes RH BZ #739499 and Ubuntu #881076
    Reported-by: Stefan Bader
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Linus Torvalds

    Konrad Rzeszutek Wilk
     

03 Dec, 2011

6 commits

  • * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
    usb: ftdi_sio: add PID for Propox ISPcable III
    Revert "xHCI: reset-on-resume quirk for NEC uPD720200"
    xHCI: fix bug in xhci_clear_command_ring()
    usb: gadget: fsl_udc: fix dequeuing a request in progress
    usb: fsl_mxc_udc.c: Remove compile-time dependency of MX35 SoC type
    usb: fsl_mxc_udc.c: Fix build issue by including missing header file
    USB: fsl_udc_core: use usb_endpoint_xfer_isoc to judge ISO XFER
    usb: udc: Fix gadget driver's speed check in various UDC drivers
    usb: gadget: fix g_serial regression
    usb: renesas_usbhs: fixup driver speed
    usb: renesas_usbhs: fixup gadget.dev.driver when udc_stop.
    usb: renesas_usbhs: fixup signal the driver that cable was disconnected
    usb: renesas_usbhs: fixup device_register timing
    usb: musb: PM: fix context save/restore in suspend/resume path
    USB: linux-cdc-acm.inf: add support for the acm_ms gadget
    EHCI : Fix a regression in the ISO scheduler
    xHCI: reset-on-resume quirk for NEC uPD720200
    USB: whci-hcd: fix endian conversion in qset_clear()
    USB: usb-storage: unusual_devs entry for Kingston DT 101 G2
    usb: option: add SIMCom SIM5218
    ...

    Linus Torvalds
     
  • * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    Staging: comedi: fix integer overflow in do_insnlist_ioctl()
    Revert "Staging: comedi: integer overflow in do_insnlist_ioctl()"
    Staging: comedi: integer overflow in do_insnlist_ioctl()
    Staging: comedi: fix signal handling in read and write
    Staging: comedi: fix mmap_count
    staging: comedi: fix oops for USB DAQ devices.
    staging: comedi: usbduxsigma: Fixed wrong range for the analogue channel.
    staging:rts_pstor:Complete scanning_done variable
    staging: usbip: bugfix for deadlock

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: fix attr2 vs large data fork assert
    xfs: force buffer writeback before blocking on the ilock in inode reclaim
    xfs: validate acl count

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: Correct General touch PID

    Linus Torvalds
     
  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    vmwgfx: integer overflow in vmw_kms_update_layout_ioctl()
    drm/radeon/kms: fix 2D tiling CS support on EG/CM
    drm/radeon/kms: fix scanout of 2D tiled buffers on EG/CM
    drm: Fix lack of CRTC disable for drm_crtc_helper_set_config(.fb=NULL)
    drm/radeon/kms: add some new pci ids
    drm/radeon/kms: Skip ACPI call to ATIF when possible
    drm/radeon/kms: Hide debugging message
    drm/radeon/kms: add some loop timeouts in pageflip code
    drm/nv50/disp: silence compiler warning
    drm/nouveau: fix oopses caused by clear being called on unpopulated ttms
    drm/nouveau: Keep RAMIN heap within the channel.
    drm/nvd0/disp: fix sor dpms typo, preventing dpms on in some situations
    drm/nvc0/gr: fix TP init for transform feedback offset queries
    drm/nouveau: add dumb ioctl support

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED
    ALSA: hda_intel - revert a quirk that affect VIA chipsets
    ALSA: hda - Avoid touching mute-VREF pin for IDT codecs
    firmware: Sigma: Fix endianess issues
    firmware: Sigma: Skip header during CRC generation
    firmware: Sigma: Prevent out of bounds memory access
    ALSA: usb-audio - Support for Roland GAIA SH-01 Synthesizer
    ASoC: Supply dcs_codes for newer WM1811 revisions
    ASoC: Error out if we can't generate a LRCLK at all for WM8994
    ASoC: Correct name of Speyside Main Speaker widget
    ASoC: skip resume of soc-audio devices without codecs
    ASoC: cs42l51: Fix off-by-one for reg_cache_size
    ASoC: drop support for PlayPaq with WM8510
    ASoC: mpc8610: tell the CS4270 codec that it's the master
    ASoC: cs4720: use snd_soc_cache_sync()
    ASoC: SAMSUNG: Fix build error
    ASoC: max9877: Update register if either val or val2 is changed
    ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSET

    Linus Torvalds
     

02 Dec, 2011

21 commits

  • There are two issues in vmw_kms_update_layout_ioctl(). First, the
    for loop forgets to index rects and only checks the first element.
    Second, there is a potential integer overflow if userspace passes
    in a large arg->num_outputs. The call to kzalloc() would allocate
    a small buffer, leading to out-of-bounds read.

    Reported-by: Haogang Chen
    Signed-off-by: Xi Wang
    Signed-off-by: Thomas Hellstrom
    Signed-off-by: Dave Airlie

    Xi Wang
     
  • Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=43191

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=43191

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Disabling the CRTC by setting its framebuffer to NULL, as used by
    drm_framebuffer_cleanup(), was failing to pass the current framebuffer
    to the crtc_func->disable callback. This is because of the dance within
    drm_crtc_helper_set_config to pass the new_fb (NULL in this case) to the
    drm_crtc_helper_set_mode with the currently attached fb as a parameter.
    drm_crtc_helper_set_mode treats this as a no-op and the encoder is still
    enabled. And so the current fb is forgotten before the call to
    drm_helper_disable_unused_functions.

    This patch treats disabling the CRTC as a simple special case rather
    than adding further complexity into the configuration logic.

    This fixes a pin-leak of the fb bo on Xserver close.

    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
    netfilter: Remove ADVANCED dependency from NF_CONNTRACK_NETBIOS_NS
    ipv4: flush route cache after change accept_local
    sch_red: fix red_change
    Revert "udp: remove redundant variable"
    bridge: master device stuck in no-carrier state forever when in user-stp mode
    ipv4: Perform peer validation on cached route lookup.
    net/core: fix rollback handler in register_netdevice_notifier
    sch_red: fix red_calc_qavg_from_idle_time
    bonding: only use primary address for ARP
    ipv4: fix lockdep splat in rt_cache_seq_show
    sch_teql: fix lockdep splat
    net: fec: Select the FEC driver by default for i.MX SoCs
    isdn: avoid copying too long drvid
    isdn: make sure strings are null terminated
    netlabel: Fix build problems when IPv6 is not enabled
    sctp: better integer overflow check in sctp_auth_create_key()
    sctp: integer overflow in sctp_auth_create_key()
    ipv6: Set mcast_hops to IPV6_DEFAULT_MCASTHOPS when -1 was given.
    net: Fix corruption in /proc/*/net/dev_mcast
    mac80211: fix race between the AGG SM and the Tx data path
    ...

    Linus Torvalds
     
  • firewalld in Fedora 16 needs this.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • After reset ipv4_devconf->data[IPV4_DEVCONF_ACCEPT_LOCAL] to 0,
    we should flush route cache, or it will continue receive packets with local
    source address, which should be dropped.

    Signed-off-by: Weiping Pan
    Signed-off-by: David S. Miller

    Peter Pan(潘卫平)
     
  • Le mercredi 30 novembre 2011 à 14:36 -0800, Stephen Hemminger a écrit :

    > (Almost) nobody uses RED because they can't figure it out.
    > According to Wikipedia, VJ says that:
    > "there are not one, but two bugs in classic RED."

    RED is useful for high throughput routers, I doubt many linux machines
    act as such devices.

    I was considering adding Adaptative RED (Sally Floyd, Ramakrishna
    Gummadi, Scott Shender), August 2001

    In this version, maxp is dynamic (from 1% to 50%), and user only have to
    setup min_th (target average queue size)
    (max_th and wq (burst in linux RED) are automatically setup)

    By the way it seems we have a small bug in red_change()

    if (skb_queue_empty(&sch->q))
    red_end_of_idle_period(&q->parms);

    First, if queue is empty, we should call
    red_start_of_idle_period(&q->parms);

    Second, since we dont use anymore sch->q, but q->qdisc, the test is
    meaningless.

    Oh well...

    [PATCH] sch_red: fix red_change()

    Now RED is classful, we must check q->qdisc->q.qlen, and if queue is empty,
    we start an idle period, not end it.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits)
    ocfs2: avoid unaligned access to dqc_bitmap
    ocfs2: Use filemap_write_and_wait() instead of write_inode_now()
    ocfs2: honor O_(D)SYNC flag in fallocate
    ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2
    ocfs2: send correct UUID to cleancache initialization
    ocfs2: Commit transactions in error cases -v2
    ocfs2: make direntry invalid when deleting it
    fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free
    ocfs2: Avoid livelock in ocfs2_readpage()
    ocfs2: serialize unaligned aio
    ocfs2: Implement llseek()
    ocfs2: Fix ocfs2_page_mkwrite()
    ocfs2: Add comment about orphan scanning
    ocfs2: Clean up messages in the fs
    ocfs2/cluster: Cluster up now includes network connections too
    ocfs2/cluster: Add new function o2net_fill_node_map()
    ocfs2/cluster: Fix output in file elapsed_time_in_ms
    ocfs2/dlm: dlmlock_remote() needs to account for remastery
    ocfs2/dlm: Take inflight reference count for remotely mastered resources too
    ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()
    ...

    Linus Torvalds
     
  • The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
    but not 64-bit aligned. The dqc_bitmap is accessed by ocfs2_set_bit(),
    ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit(). These
    are wrapper macros for ext2_*_bit() which need to take an unsigned long
    aligned address (though some architectures are able to handle unaligned
    address correctly)

    So some 64bit architectures may not be able to access the dqc_bitmap
    correctly.

    This avoids such unaligned access by using another wrapper functions for
    ext2_*_bit(). The code is taken from fs/ext4/mballoc.c which also need to
    handle unaligned bitmap access.

    Signed-off-by: Akinobu Mita
    Acked-by: Joel Becker
    Cc: Mark Fasheh
    Signed-off-by: Andrew Morton
    Signed-off-by: Joel Becker

    Akinobu Mita
     
  • * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7182/1: ARM cpu topology: fix warning
    ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
    ARM: 7180/1: Change kprobes testcase with unpredictable STRD instruction
    ARM: 7177/1: GIC: avoid skipping non-existent PPIs in irq_start calculation
    ARM: 7176/1: cpu_pm: register GIC PM notifier only once
    ARM: 7175/1: add subname parameter to mfp_set_groupg callers
    ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
    ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
    ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
    ARM: 7170/2: fix compilation breakage in entry-armv.S
    ARM: 7168/1: use cache type functions for arch_get_unmapped_area
    ARM: perf: check that we have a platform device when reserving PMU
    ARM: 7166/1: Use PMD_SHIFT instead of PGDIR_SHIFT in dma-consistent.c
    ARM: 7165/2: PL330: Fix typo in _prepare_ccr()
    ARM: 7163/2: PL330: Only register usable channels
    ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
    ARM: 7161/1: errata: no automatic store buffer drain
    ARM: perf: initialise used_mask for fake PMU during validation
    ARM: PMU: remove pmu_init declaration
    ARM: PMU: re-export release_pmu symbol to modules

    Linus Torvalds
     
  • This reverts commit 81d54ec8479a2c695760da81f05b5a9fb2dbe40a.

    If we take the "try_again" goto, due to a checksum error,
    the 'len' has already been truncated. So we won't compute
    the same values as the original code did.

    Reported-by: paul bilke
    Signed-off-by: David S. Miller

    David S. Miller
     
  • …rah/xhci into usb-linus

    * 'for-usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci:
    Revert "xHCI: reset-on-resume quirk for NEC uPD720200"
    xHCI: fix bug in xhci_clear_command_ring()

    Greg Kroah-Hartman
     
  • When in user-stp mode, bridge master do not follow state of its slaves, so
    after the following sequence of events it can stuck forever in no-carrier
    state:
    1) turn stp off
    2) put all slaves down - master device will follow their state and also go in
    no-carrier state
    3) turn stp on with bridge-stp script returning 0 (go to the user-stp mode)
    Now bridge master won't follow slaves' state and will never reach running
    state.

    This patch solves the problem by making user-stp and kernel-stp behavior
    similar regarding master following slaves' states.

    Signed-off-by: Vitalii Demianets
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Vitalii Demianets
     
  • Signed-off-by: Marcin Kościelnicki
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Marcin Kościelnicki
     
  • This reverts commit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa.

    The commit added a reset-on-resume quirk because the NEC chipset stopped
    responding to commands about 30 minutes after a system resume from
    suspend. We thought it was a chipset issue, but it turns out that the
    xHCI driver was zeroing out the link TRB after a successful context
    restore during resume. The host controller would fall off the command
    ring sometime later, causing it to not respond to new commands.

    The link TRB issue has been fixed with commit
    158886cd2cf4599e04f9b7e10cb767f5f39b14f1 "xHCI: fix bug in
    xhci_clear_command_ring()", so revert the reset-on-resume quirk, as it's
    not necessary.

    Commit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa was marked for stable
    trees back to 2.6.37, but according to my mail, it has not made it into
    Linus' tree or the stable trees yet.

    Signed-off-by: Sarah Sharp
    Tested-by: Julian Sikorski
    Cc: Andiry Xu

    Sarah Sharp
     
  • Otherwise we won't notice the peer GENID change.

    Reported-by: Steffen Klassert
    Signed-off-by: David S. Miller

    David S. Miller
     
  • When system enters suspend, xHCI driver clears command ring by writing zero
    to all the TRBs. However, this also writes zero to the Link TRB, and the ring
    is mangled. This may cause driver accesses wrong memory address and the
    result is unpredicted.

    When clear the command ring, keep the last Link TRB intact, only clear its
    cycle bit. This should fix the "command ring full" issue reported by Oliver
    Neukum.

    This should be backported to stable kernels as old as 2.6.37, since the
    commit 89821320 "xhci: Fix command ring replay after resume" is merged.

    Signed-off-by: Andiry Xu
    Signed-off-by: Sarah Sharp
    Reported-by: Oliver Neukum

    Andiry Xu
     
  • Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix meta data raid-repair merge problem
    Btrfs: skip allocation attempt from empty cluster
    Btrfs: skip block groups without enough space for a cluster
    Btrfs: start search for new cluster at the beginning
    Btrfs: reset cluster's max_size when creating bitmap
    Btrfs: initialize new bitmaps' list
    Btrfs: fix oops when calling statfs on readonly device
    Btrfs: Don't error on resizing FS to same size
    Btrfs: fix deadlock on metadata reservation when evicting a inode
    Fix URL of btrfs-progs git repository in docs
    btrfs scrub: handle -ENOMEM from init_ipath()

    Linus Torvalds
     

01 Dec, 2011

8 commits

  • Takashi Iwai
     
  • Commit 4a54c8c16 introduced raid-repair, killing the individual
    readpage_io_failed_hook entries from inode.c and disk-io.c. Commit
    4bb31e92 introduced new readahead code, adding a readpage_io_failed_hook to
    disk-io.c.

    The raid-repair commit had logic to disable raid-repair, if
    readpage_io_failed_hook is set. Thus, the readahead commit effectively
    disabled raid-repair for meta data.

    This commit changes the logic to always attempt raid-repair when needed and
    call the readpage_io_failed_hook in case raid-repair fails. This is much
    more straight forward and should have been like that from the beginning.

    Signed-off-by: Jan Schmidt
    Reported-by: Stefan Behrens
    Signed-off-by: Chris Mason

    Jan Schmidt
     
  • The verb command in stac92xx_post_suspend caused the audio to stop
    working after resuming from S3 mode on HP laptops with the VREF-pin
    mute-LED control. Removing relevant post_suspend registering.

    Although removing D3 on AFG is no optimal solution, the impact should
    be small in comparison with the broken S3/S4.

    Signed-off-by: Charles Chin
    Cc:
    Signed-off-by: Takashi Iwai

    Charles Chin
     
  • I am under the impression that it only makes sense to call the ATIF
    method if the graphics device has an ACPI handle attached. So we could
    skip the call altogether if there is no such handle.

    Signed-off-by: Jean Delvare
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Jean Delvare
     
  • Use the proper macro to issue the debugging message in
    radeon_atif_call(). Otherwise we spam the log of many systems with a
    message which looks like an error message of unknown origin, and could
    thus confuse the user. Commit dc77de12dde95c8da39e4c417eb70c7d445cf84b
    was a first step in this direction, but was not sufficient IMHO.

    Signed-off-by: Jean Delvare
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Jean Delvare
     
  • Avoid infinite loops waiting for surface updates if a GPU
    reset happens while waiting for a page flip.

    See:
    https://bugs.freedesktop.org/show_bug.cgi?id=43191

    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Reviewed-by: Mario Kleiner
    Tested-by: Simon Farnsworth
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
    drm/nv50/disp: silence compiler warning
    drm/nouveau: fix oopses caused by clear being called on unpopulated ttms
    drm/nouveau: Keep RAMIN heap within the channel.
    drm/nvd0/disp: fix sor dpms typo, preventing dpms on in some situations
    drm/nvc0/gr: fix TP init for transform feedback offset queries
    drm/nouveau: add dumb ioctl support

    Dave Airlie
     
  • Within nested statements, the break statement terminates only the
    do, for, switch, or while statement that immediately encloses it,
    So replace the break with goto.

    Signed-off-by: RongQing.Li
    Signed-off-by: David S. Miller

    RongQing.Li