09 Jun, 2010

1 commit


08 Jun, 2010

6 commits

  • * git://git.infradead.org/~dwmw2/mtd-2.6.35:
    jffs2: update ctime when changing the file's permission by setfacl
    jffs2: Fix NFS race by using insert_inode_locked()
    jffs2: Fix in-core inode leaks on error paths
    mtd: Fix NAND submenu
    mtd/r852: update card detect early.
    mtd/r852: Fixes in case of DMA timeout
    mtd/r852: register IRQ as last step
    drivers/mtd: Use memdup_user
    docbook: make mtd nand module init static

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    ahci: redo stopping DMA engines on empty ports
    sata_sil24: fix kernel panic on ARM caused by unaligned access in sata_sil24
    ahci: add pci quirk for JMB362
    sata_via: explain the magic fix

    Linus Torvalds
     
  • Commit 96d60303fd (ahci: Turn off DMA engines when there's no device)
    implemented stopping DMA engines on empty ports but it used single
    sampling of status registers to determine device presence which led to
    disabling of DMA engines on occupied ports. Do it after all EH
    actions are complete using device presence state determined by EH.
    This avoids spurious disabling of DMA engines and simplifies the code.

    Signed-off-by: Tejun Heo
    Tested-by: Marc Dionne
    Cc: Matthew Garrett
    Cc: Robert Hancock
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The sata_sil24 driver has six 16-bit registers that are initialised with
    32-bit writes. This cause a kernel panic on ARM due to the unaligned
    accesses which result.

    This patch changes the accesses to the correct 16-bit ones.

    Signed-off-by: Colin Tuckley
    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Colin Tuckley
     
  • JMB362 is a new variant of jmicron controller which is similar to
    JMB360 but has two SATA ports instead of one. As there is no PATA
    port, single function AHCI mode can be used as in JMB360. Add pci
    quirk for JMB362.

    Signed-off-by: Tejun Heo
    Reported-by: Aries Lee
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Add Joseph Chan's explanation of the problem and workaround to the
    VT6421 magic fix.

    Signed-off-by: Tejun Heo
    Cc: Joseph Chan
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

07 Jun, 2010

2 commits

  • At the point of the call to dev_err, wm8350 is NULL.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E,E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if ((E == NULL && ...) || ...)
    {
    ... when != if (...) S1 else S2
    when != E = E1
    * E->f
    ... when any
    return ...;
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Acked-by: Mark Brown
    Signed-off-by: Wim Van Sebroeck

    Julia Lawall
     
  • This reverts commit 962400e8fd29981a7b166e463dd143b6ac6a3e76, which was
    entirely bogus.

    The code used to multiply the character offset by "vc->vc_cols", and
    that's actually correct, because 'd' itself is an 'unsigned short'. So
    the pointer arithmetic already takes the size of a VGA character into
    account. Changing it to use vc_size_row (which is just "vc_cols"
    shifted up to take the size of the character into account) ends up
    multiplying with the VGA character size twice.

    This got reported as bugs for various other subsystems, because what it
    actually results in is writing the 16-bit vc_video_erase_char pattern
    (usually 0x0720: 0x07 is the default attribute, 0x20 is ASCII space)
    into some random other allocation.

    So Markus ended up reporting this as a ext4 bug, while to Torsten Kaiser
    it looked like a problem with KMS or libata. Jeff Chua saw it in
    different places.

    And finally - Justin Mattock had slab poisoning enabled, and saw it as a
    slab poison overwritten. And bisected and reverted this to verify the
    buggy commit.

    Reported-by: Markus Trippelsdorf
    Reported-by: Torsten Kaiser
    Reported-by: Jeff Chua
    Reported-by: Justin P. Mattock
    Reported-bisected-and-tested-by: Justin P. Mattock
    Acked-by: Dave Airlie
    Cc: Frank Pan
    Cc: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

06 Jun, 2010

1 commit

  • Cursors need to be in the GTT domain when being accessed by the GPU.
    Previously this was a fortuitous byproduct of userspace using pwrite()
    to upload the image data into the cursor. The redundant clflush was
    removed in commit 9b8c4a and so the image was no longer being flushed
    out of the caches into main memory. One could also devise a scenario
    where the cursor was rendered by the GPU, prior to being attached as the
    cursor, resulting in similar corruption due to the missing MI_FLUSH.

    Fixes:

    Bug 28335 - Cursor corruption caused by commit 9b8c4a0b21
    https://bugs.freedesktop.org/show_bug.cgi?id=28335

    Signed-off-by: Chris Wilson
    Reported-and-tested-by: Jeff Chua
    Tested-by: Linus Torvalds
    Reported-by: Andy Isaacson
    Signed-off-by: Linus Torvalds

    Chris Wilson
     

05 Jun, 2010

30 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    X25: remove duplicated #include
    tcp: use correct net ns in cookie_v4_check()
    rps: tcp: fix rps_sock_flow_table table updates
    ppp_generic: fix multilink fragment sizes
    syncookies: remove Kconfig text line about disabled-by-default
    ixgbe: only check pfc bits in hang logic if pfc is enabled
    net: check for refcount if pop a stacked dst_entry
    ixgbe: return IXGBE_ERR_RAR_INDEX when out of range
    act_pedit: access skb->data safely
    sfc: Store port number in net_device::dev_id
    epic100: Test __BIG_ENDIAN instead of (non-existent) CONFIG_BIG_ENDIAN
    tehuti: return -EFAULT on copy_to_user errors
    isdn/kcapi: return -EFAULT on copy_from_user errors
    e1000e: change logical negate to bitwise
    sfc: Get port number from CS_PORT_NUM, not PCI function number
    cls_u32: use skb_header_pointer() to dereference data safely
    TCP: tcp_hybla: Fix integer overflow in slow start increment
    act_nat: fix the wrong checksum when addr isn't in old_addr/mask
    net/fec: fix pm to survive to suspend/resume
    korina: count RX DMA OVR as rx_fifo_error
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    Minix: Clean up left over label
    fix truncate inode time modification breakage
    fix setattr error handling in sysfs, configfs
    fcntl: return -EFAULT if copy_to_user fails
    wrong type for 'magic' argument in simple_fill_super()
    fix the deadlock in qib_fs
    mqueue doesn't need make_bad_inode()

    Linus Torvalds
     
  • Remove duplicated #include('s) in drivers/net/wan/x25_asy.c

    Signed-off-by: Huang Weiyi
    Signed-off-by: David S. Miller

    Huang Weiyi
     
  • Fix bug in multilink fragment size calculation introduced by
    commit 9c705260feea6ae329bc6b6d5f6d2ef0227eda0a
    "ppp: ppp_mp_explode() redesign"

    Signed-off-by: Ben McKeegan
    Signed-off-by: David S. Miller

    Ben McKeegan
     
  • Only check pfc bits in hang logic if PFC is enabled. Previously,
    if DCB was enabled but PFC was disabled the incorrect pause
    bits would be checked.

    Signed-off-by: John Fastabend
    Acked-by: Don Skidmore
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    John Fastabend
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: wacom - add Cintiq 21UX2 and Intuos4 WL
    Input: ads7846 - fix compiler warning in ads7846_probe()
    Input: tps6507x-ts - a couple work queue cleanups
    Input: s3c2410_ts - tone down logging
    Input: s3c2410_ts - fix build error due to ADC Kconfig rename

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
    sh: Make intc messages consistent via pr_fmt.
    sh: make sure static declaration on ms7724se
    sh: make sure static declaration on mach-migor
    sh: make sure static declaration on mach-ecovec24
    sh: make sure static declaration on mach-ap325rxa
    clocksource: sh_cmt: compute mult and shift before registration
    clocksource: sh_tmu: compute mult and shift before registration
    sh: PIO disabling for x3proto and urquell.
    sh: mach-sdk7786: conditionally disable PIO support.
    sh: support for platforms without PIO.
    usb: r8a66597-hcd pio to mmio accessor conversion.
    usb: gadget: r8a66597-udc pio to mmio accessor conversion.
    usb: gadget: m66592-udc pio to mmio accessor conversion.
    sh: add romImage MMCIF boot for sh7724 and Ecovec V2
    sh: add boot code to MMCIF driver header
    sh: prepare MMCIF driver header file
    sh: allow romImage data between head.S and the zero page
    sh: Add support MMCIF for ecovec
    sh: remove duplicated #include
    input: serio: disable i8042 for non-cayman sh platforms.
    ...

    Linus Torvalds
     
  • * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core: (83 commits)
    i7core_edac: Better describe the supported devices
    Add support for Westmere to i7core_edac driver
    i7core_edac: don't free on success
    i7core_edac: Add support for X5670
    Always call i7core_[ur]dimm_check_mc_ecc_err
    i7core_edac: fix memory leak of i7core_dev
    EDAC: add __init to i7core_xeon_pci_fixup
    i7core_edac: Fix wrong device id for channel 1 devices
    i7core: add support for Lynnfield alternate address
    i7core_edac: Add initial support for Lynnfield
    i7core_edac: do not export static functions
    edac: fix i7core build
    edac: i7core_edac produces undefined behaviour on 32bit
    i7core_edac: Use a more generic approach for probing PCI devices
    i7core_edac: PCI device is called NONCORE, instead of NOCORE
    i7core_edac: Fix ringbuffer maxsize
    i7core_edac: First store, then increment
    i7core_edac: Better parse "any" addrmask
    i7core_edac: Use a lockless ringbuffer
    edac: Create an unique instance for each kobj
    ...

    Linus Torvalds
     
  • * 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (87 commits)
    V4L/DVB: ivtv: Timing tweaks and code re-order to try and improve stability
    V4L/DVB: ivtv: Avoid accidental video standard change
    V4L/DVB: ivtvfb : Module load / unload fixes
    V4L/DVB: cx2341x: Report correct temporal setting for log-status
    V4L/DVB: cx18, cx23885, v4l2 doc, MAINTAINERS: Update Andy Walls' email address
    V4L/DVB: drivers/media: Eliminate a NULL pointer dereference
    V4L/DVB: dvb-core: Fix ULE decapsulation bug
    V4L/DVB: Bug fix: make IR work again for dm1105
    V4L/DVB: media/IR: nec-decoder needs to select BITREV
    V4L/DVB: video/saa7134: change dprintk() to i2cdprintk()
    V4L/DVB: video/saa7134: remove duplicate break
    V4L/DVB: IR/imon: add auto-config for 0xffdc rf device
    V4L/DVB: IR/imon: clean up usage of bools
    V4L/DVB: em28xx: remove unneeded null checks
    V4L/DVB: ngene: remove unused #include
    V4L/DVB: ak881x needs slab.h
    V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing
    V4L/DVB: Technotrend S2-3200 ships with a TT 1500 remote
    V4L/DVB: drivers/media: Use kzalloc
    V4L/DVB: m920x: Select simple tuner
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (27 commits)
    block: make blk_init_free_list and elevator_init idempotent
    block: avoid unconditionally freeing previously allocated request_queue
    pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface
    pipe: change the privilege required for growing a pipe beyond system max
    pipe: adjust minimum pipe size to 1 page
    block: disable preemption before using sched_clock()
    cciss: call BUG() earlier
    Preparing 8.3.8rc2
    drbd: Reduce verbosity
    drbd: use drbd specific ratelimit instead of global printk_ratelimit
    drbd: fix hang on local read errors while disconnected
    drbd: Removed the now empty w_io_error() function
    drbd: removed duplicated #includes
    drbd: improve usage of MSG_MORE
    drbd: need to set socket bufsize early to take effect
    drbd: improve network latency, TCP_QUICKACK
    drbd: Revert "drbd: Create new current UUID as late as possible"
    brd: support discard
    Revert "writeback: fix WB_SYNC_NONE writeback from umount"
    Revert "writeback: ensure that WB_SYNC_NONE writeback with sb pinned is sync"
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (27 commits)
    Staging: sep: return -EFAULT on copy_to_user errors
    Staging: rc2860: return -EFAULT on copy_to_user errors
    Staging: Eliminate a NULL pointer dereference
    staging: Use GFP_ATOMIC when a lock is held
    Staging: comedi - correct parameter gainlkup for DAQCard-6024E in driver ni_mio_cs.c
    Staging: comedi: fixing ni_labpc to mite dependancy
    Staging: wlags49_h2, wlags49_h25: fixed Kconfig dependencies
    Staging: phison: depends on ATA_BMDMA
    Staging: iio-utils: fix memory overflow for dynamically allocateded memory to hold filename
    Staging: adis16255: add proper section markings to hotplug funcs
    Staging: adis16255: fix typo in Kconfig
    Staging: batman-adv: Don't allocate icmp packet with GFP_KERNEL
    Staging: batman-adv: Don't call free_netdev twice
    Staging: batman-adv: Call unregister_netdev on failures to get rtnl lock
    Staging: batman-adv: fix rogue packets on shutdown
    Staging: add MSM framebuffer driver
    Staging: comedi: fixing ni_tio to mite PCI dependancy
    Staging: comedi: fix 8255 and DAS08 Kconfig dependancies.
    Staging: comedi: For COMEDI_BUFINFO, check access to command
    Staging: comedi: COMEDI_BUFINFO with no async - report no bytes read or written
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    serial: add support for various Titan PCI cards
    vt_ioctl: return -EFAULT on copy_from_user errors
    serial: altera_uart: Proper section for altera_uart_remove
    tty: fix a little bug in scrup, vt.c
    altera_uart: Simplify altera_uart_console_putc
    altera_uart: Don't take spinlock in already protected functions
    TTY/n_gsm: potential double lock
    serial: bfin_5xx: fix typo in IER check
    serial: bfin_5xx: IRDA is not affected by anomaly 05000230
    serial_cs: add and sort IDs for serial and modem cards
    msm_serial: fix serial on trout

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: unbind all interfaces before rebinding them
    USB: serial: digi_acceleport: Eliminate a NULL pointer dereference
    usb: fix ehci_hcd build failure when both generic-OF and xilinx is selected
    USB: cdc-acm: fix resource reclaim in error path of acm_probe
    USB: ftdi_sio: fix DTR/RTS line modes
    USB: s3c-hsotg: Ensure FIFOs are fully flushed after layout
    USB: s3c-hsotg: SoftDisconnect minimum 3ms
    USB: s3c-hsotg: Ensure TX FIFO addresses setup when initialising FIFOs
    USB: s3c_hsotg: define USB_GADGET_DUALSPEED in Kconfig
    USB: s3c: Enable soft disconnect during initialization
    USB: xhci: Print NEC firmware version.
    USB: xhci: Wait for host to start running.
    USB: xhci: Wait for controller to be ready after reset.
    USB: isp1362: fix inw warning on Blackfin systems
    USB: mos7840: fix null-pointer dereference

    Linus Torvalds
     
  • Remove a BUG_ON for when interrupts are disabled during an MMC request.

    During boot, interrupts can be disabled when a request is made, causing
    this bug to be triggered. In reality, there's no reason this should halt
    the kernel, as the driver has proved reliable in spite of disabled
    interrupts, and additionally, there's nothing in this code that would
    require interrupts to be enabled.

    The only setup I've managed to make it trigger on is on the HTC Herald
    during bootup when the driver is built into the kernel (mostly because
    that's all I have). I believe it's related to the fact that on bootup I
    get many timeout errors on "CMD5" while initializing the card. Each CMD5
    timeout triggers that bug (I changed it to a WARN_ON to get it to boot in)
    due to the fact that part of the timeout code involves sending the request
    again. With interrupts turned off, that BUG would be triggered.

    Signed-off-by: Cory Maccarrone
    Acked-by: Tony Lindgren
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cory Maccarrone
     
  • Commit f601441916d1e19291d0b4f044b4a7551e2924d0 ("imxfb: add support for
    i.MX25:) has inserted the symbol HAVE_FB_IMX, which does not depend on FB
    after the menuconfig FB. This breaks the menu, presenting most of the
    drivers outside of it, when using menuconfig.

    Moving the symbol to the start of the file, just like HAVE_FB_ATMEL, fixes
    the problem without breaking it for iMX25 configurations (tested with
    ARCH=arm, no build).

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Cc: Sascha Hauer
    Acked-by: Uwe Kleine-König
    Acked-by: Baruch Siach
    Cc: "David S. Miller"
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thadeu Lima de Souza Cascardo
     
  • As pointed by Nick Piggin, ->page_mkwrite provides a way to keep a page
    locked until the associated PTE is marked dirty.

    Re-implement the fix by using this mechanism.

    Signed-off-by: Albert Herranz
    Acked-by: Jaya Kumar
    Acked-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • This reverts commit 49bbd815fd8ba26d0354900b783b767c7f47c816 ("fb_defio:
    fix for non-dirty ptes").

    Although the fix provided is correct, it's been suggested to avoid the
    underlying race in the same way as it is currently done in filesystems
    like NFS, for maintainability.

    A following patch "fb_defio: redo fix for non-dirty ptes" will provide
    such an alternate fix.

    Signed-off-by: Albert Herranz
    Cc: Jaya Kumar
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • Limit number of accumulated non-balloonable pages during inflation cycle,
    otherwise there is a chance we will be spinning and growing the list
    forever. This happens during torture tests when balloon target changes
    while we are in the middle of inflation cycle and monitor starts refusing
    to lock pages (since they are not needed anymore).

    Signed-off-by: Dmitry Torokhov
    Acked-by: Bhavesh Davda
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • The driver fails to compile on s390:

    drivers/char/ramoops.c: In function 'ramoops_init':
    drivers/char/ramoops.c:122: error: implicit declaration of function 'ioremap'

    Since we won't make use of the driver anyway on s390 just let it depend on
    HAS_IOMEM.

    Signed-off-by: Heiko Carstens
    Cc: Marco Stornelli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • Make sure s3c_rtc_cpu_type is initialised _before_ it's used in an if()
    check.

    Reported-by: Jiri Pinkava
    Signed-off-by: Maurus Cuelenaere
    Cc: Paul Gortmaker
    Cc: Alessandro Zummo
    Cc: Maurus Cuelenaere
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maurus Cuelenaere
     
  • s3c_rtc_setfreq() uses the platform driver data to derive struct rtc_device,
    so make sure drvdata is set _before_ s3c_rtc_setfreq() is called.

    Signed-off-by: Maurus Cuelenaere
    Cc: Paul Gortmaker
    Cc: Alessandro Zummo
    Cc: Maurus Cuelenaere
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maurus Cuelenaere
     
  • get_sb_single() calls fill_super with superblock locked; calling
    deactivate_super() will deadlock immedately. Moreover, if fill_super
    callback returns an error, get_sb_single() will release the reference
    to superblock itself just fine.

    Signed-off-by: Al Viro

    Al Viro
     
  • copy_to_user() returns the number of bytes remaining but we want to
    return a negative error code here. These functions are used in the
    ioctl handler and the error code gets returned to userspace.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • copy_to_user() returns the number of bytes remaining but we want to
    return a negative error code. This is in the ioctl handler and the
    error code gets passed to userspace.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Eliminate a NULL or near NULL pointer dereference.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E,E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if ((E == NULL && ...) || ...)
    {
    ... when != if (...) S1 else S2
    when != E = E1
    * E->f
    ... when any
    return ...;
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Greg Kroah-Hartman

    Julia Lawall
     
  • In each case, the containing function is only called from one place, where
    a spin lock is held.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @gfp exists@
    identifier fn;
    position p;
    @@

    fn(...) {
    ... when != spin_unlock
    when any
    GFP_KERNEL@p
    ... when any
    }

    @locked@
    identifier gfp.fn;
    @@

    spin_lock(...)
    ... when != spin_unlock
    fn(...)

    @depends on locked@
    position gfp.p;
    @@

    - GFP_KERNEL@p
    + GFP_ATOMIC
    //

    Signed-off-by: Julia Lawall
    Cc: Jonathan Cameron
    Cc: Marek Lindner
    Cc: Martyn Welch
    Signed-off-by: Greg Kroah-Hartman

    Julia Lawall
     
  • Correct at least one of the incorrect specs for a national instrument
    data acquisition card DAQCard-6024E. This card has only four different
    gain settings (+-10V, +-5V, +-0.5V, +-0.05V).

    Signed-off-by: Martin Homuth-Rosemann
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Martin Homuth-Rosemann
     
  • the dependancy of ni_labpc on mite was missing,

    Signed-off-by: Alexander Kurz
    Acked-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    index 0aa2b0d..79f5f2e 100644

    Alexander Kurz
     
  • Fixes Kconfig so the wlags49_h2 and wlags49_h25 drivers can be
    selected from menuconfig without having to select another WLAN
    driver first. Before it could only be selected when another driver
    already selected WIRELESS_EXT. Also adds WEXT_PRIV on which
    the driver also depends.

    Align help text in Kconfig.

    Signed-off-by: Henk de Groot
    Signed-off-by: Greg Kroah-Hartman

    Henk de Groot
     
  • phison uses interfaces and data that are built only when
    ATA_BMDMA is enabled, so it should depend on that symbol.

    drivers/staging/phison/phison.c:43: error: implicit declaration of function 'ATA_BMDMA_SHT'
    drivers/staging/phison/phison.c:43: error: initializer element is not constant
    drivers/staging/phison/phison.c:43: error: (near initialization for 'phison_sht.module')
    drivers/staging/phison/phison.c:47: error: 'ata_bmdma_port_ops' undeclared here (not in a function)

    Signed-off-by: Randy Dunlap
    Cc: evan_ko@phison.com
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap