26 Jan, 2007

3 commits

  • Some uli controllers have stuck SIMPLEX bit which can't be cleared
    with ata_pci_clear_simplex(), but the controller is capable of doing
    DMAs on both channels simultaneously. Implement ATA_FLAG_IGN_SIMPLEX
    which makes libata ignore the simplex bit and use it in sata_uli.

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

    Tejun Heo
     
  • We're still seeing a lot of issues with NCQ implementation in drive
    firmwares. Sprious FISes during NCQ command phase occur on many
    drives and some of them seem potentially dangerous (at least to me).
    Until we find the solution, spurious messages can give us more info.
    Improve and limit them such that more info can be reported while not
    disturbing users too much.

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

    Tejun Heo
     
  • vt6420 completely loses its ability to raise IRQ for ATAPI devices if
    ATA_NIEN is diddled with in ->freeze. Further investigation is
    necessary to determine whether this problem is shared on other
    controllers but it doesn't seem to be at this point.

    Make vt6420's ->freeze only clear IRQ to fix this problem. This makes
    vt6420 relatively more prone to IRQ storms but the controller is way
    too braindamaged to worry about that anyway.

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

    Tejun Heo
     

25 Jan, 2007

3 commits


24 Jan, 2007

21 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits)
    [SCTP]: Fix compiler warning.
    [IP] TUNNEL: Fix to be built with user application.
    [IPV6]: Fixed the size of the netlink message notified by inet6_rt_notify().
    [TCP]: rare bad TCP checksum with 2.6.19
    [NET]: Process include/linux/if_{addr,link}.h with unifdef
    [NETFILTER]: Fix iptables ABI breakage on (at least) CRIS
    [IRDA] vlsi_ir.{h,c}: remove kernel 2.4 code
    [TCP]: skb is unexpectedly freed.
    [IPSEC]: Policy list disorder
    [IrDA]: Removed incorrect IRDA_ASSERT()
    [IrDA]: irda-usb TX path optimization (was Re: IrDA spams logfiles - since 2.6.19)
    [X.25]: Add missing sock_put in x25_receive_data
    [SCTP]: Fix SACK sequence during shutdown
    [SCTP]: Correctly handle unexpected INIT-ACK chunk.
    [SCTP]: Verify some mandatory parameters.
    [SCTP]: Set correct error cause value for missing parameters
    [NETFILTER]: fix xt_state compile failure
    [NETFILTER]: ctnetlink: fix leak in ctnetlink_create_conntrack error path
    [SELINUX]: increment flow cache genid
    [IPV6] MCAST: Fix joining all-node multicast group on device initialization.
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    mv643xx_eth: Fix race condition in mv643xx_eth_free_tx_descs
    s2io bogus memset

    Linus Torvalds
     
  • Jeff Garzik
     
  • Fixup the inialization of qc->n_elem. It currently gets
    initialized to 1 for commands that do not transfer any data.
    Fix this by initializing n_elem to 0 and only setting to 1
    in ata_scsi_qc_new when there is data to transfer. This fixes
    some problems seen with SATA devices attached to ipr adapters.

    Signed-off-by: Brian King
    Signed-off-by: Jeff Garzik

    Brian King
     
  • Some ATA/ATAPI devices act weirdly after the link is put into slumber
    mode. Some hang completely requiring physical power removal while
    others fail to wake up till the link is hardreset a couple of times.

    The addition of slumber on power down was never driven by real need.
    It just followed what ahci spec said literally. The spec itself seems
    faulty in that it doesn't consider devices (not controllers) which
    don't support link powersaving mode.

    Theory never matches reality when it comes to dark allys of cheap
    ATA/ATAPI world. It's just unrealistic to expect vendors to test
    rarely used link powersaving feature rigorously. This patch makes
    ahci more friendly to the coldness of reality.

    This shouldn't have any negative effect - when suspend operation
    succeeds, we power off the whole machine; otherwise, we wake up
    everything. I can't see any reason to be so elaborate with powering
    down the link in the first place.

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

    Tejun Heo
     
  • Several people reported issues with certain drive commands timing out on
    sata_nv controllers running in ADMA mode. The commands in question were
    non-DMA-mapped commands, usually FLUSH CACHE or FLUSH CACHE EXT.

    From experimentation it appears that the NV_INT_DEV indication isn't
    always set when a legitimate command completion interrupt is received on
    a legacy-mode command, at least not on these controllers in ADMA mode.
    When a command is pending on the port, force the flag on always in the
    irq_stat value before calling nv_host_intr so that the drive busy state
    is always checked by ata_host_intr.

    This also fixes some questionable code in nv_host_intr which called
    ata_check_status when a command was pending and ata_host_intr returned
    "unhandled". If the device interrupted at just the wrong time this could
    cause interrupts to be lost.

    Signed-off-by: Robert Hancock
    Signed-off-by: Jeff Garzik

    Robert Hancock
     
  • As with JMicron controllers, ULi M5288 sets interface fatal error bit
    on device error including ATAPI CC. This makes libata hardreset the
    port on ATAPI CC thus making it impossible to use. Ignore interface
    fatal error bit on ULi M5288. This fixes bugzilla bug #7837.

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

    Tejun Heo
     
  • This patch removes kernel 2.4 compatibility code.

    Signed-off-by: Adrian Bunk
    Acked-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • With USB2.0 bulk out MTU can be 512 bytes, so checking it only for 64
    bytes is incorrect.

    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Samuel Ortiz
     
  • Since we stop using dev_alloc_skb on the IrDA TX frame, we constantly run
    into the case of the skb headroom being 0, and thus we call skb_cow for
    every IrDA TX frame.
    This patch uses a local buffer and memcpy the skb to it, saving us a
    kmalloc for each of those IrDA TX frames.

    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Samuel Ortiz
     
  • We are doing ->buf_prepare(buf) before adding buf to q->stream list. This
    means that videobuf_qbuf() should not try to re-add a STATE_PREPARED buffer.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Mauro Carvalho Chehab

    Oleg Nesterov
     
  • Change my email address to reflect OSDL merger.

    Signed-off-by: Stephen Hemminger
    [ The irony. Somebody still has his sign-off message hardcoded
    in a script or his brainstem ;^]
    Signed-off-by: Linus Torvalds

    Stephen Hemminger
     
  • mv643xx_eth: Fix race condition in mv643xx_eth_free_tx_descs

    This bug was found and isolated by Thibaut VARENE
    and Jarek Poplawski . This patch is a modification of their
    fixes. We acquire and release the lock for each descriptor that is freed
    to minimize the time the lock is held.

    Signed-off-by: Jeff Garzik

    Dale Farnsworth
     
  • memset() after kmalloc() on size * 8 would better be on size * 8, not
    just size; fixed by switching to kcalloc() - it's more idiomatic anyway.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Vr41xx: Fix after GENERIC_HARDIRQS_NO__DO_IRQ change
    [MIPS] SMTC: Instant IPI replay.

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IB/ehca: Fix mismatched spin_unlock in irq handler
    IB/ehca: Fix improper use of yield() with spinlock held
    IB/srp: Check match_strdup() return

    Linus Torvalds
     
  • memset() after kmalloc() on size * 8 would better be on size * 8, not
    just size; fixed by switching to kcalloc() - it's more idiomatic anyway.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    NetXen: Use pci_register_driver() instead of pci_module_init() in init_module
    NetXen: Firmware check modifications
    ehea: Fixed possible nullpointer access
    ehea: Added logging off associated errors
    ehea: Improved logging of permission issues
    ehea: New method to determine number of available ports
    ehea: Modified initial autoneg state determination
    ehea: Fixing firmware queue config issue
    ehea: Fixed wrong dereferencation
    PHY: Export phy ethtool helpers
    modify 3c589_cs to be SMP safe

    Linus Torvalds
     
  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     

23 Jan, 2007

13 commits

  • Seems to be some left-over debug code.

    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Chua
     
  • The following patch fixes a few problems with the tlclk driver.
    * bug in the select_amcb1_transmit_clock
    * racy read sys call
    * racy open sys call
    * use of add_timer where mod_timer would be better
    * change to the timer data parameter use

    Signed-off-by: Mark Gross
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Gross
     
  • This fixes the SH rtc driver correctly act on the "enabled" flag when
    setting an alarm.

    Signed-off-by: Jamie Lenehan
    Cc: David Brownell
    Cc: Alessandro Zummo
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jamie Lenehan
     
  • If a page is marked as dirty in the guest pte, set_pte_common() can set the
    writable bit on newly-instantiated shadow pte. This optimization avoids
    a write fault after the initial read fault.

    However, if a write fault instantiates the pte, fix_write_pf() incorrectly
    reports the fault as a guest page fault, and the guest oopses on what appears
    to be a correctly-mapped page.

    Fix is to detect the condition and only report a guest page fault on a user
    access to a kernel page.

    With the fix, a kvm guest can survive a whole night of running the kernel
    hacker's screensaver (make -j9 in a loop).

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • The various bit string instructions (bts, btc, etc.) fail to adjust the
    address correctly if the bit address is beyond BITS_PER_LONG.

    This bug creeped in as the emulator originally relied on cr2 to contain the
    memory address; however we now decode it from the mod r/m bits, and must
    adjust the offset to account for large bit indices.

    The patch is rather large because it switches src and dst decoding around, so
    that the bit index is available when decoding the memory address.

    This fixes workloads like the FC5 installer.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • The kvm mmio read path looks like:

    1. guest read faults
    2. kvm emulates read, calls emulator_read_emulated()
    3. fails as a read requires userspace help
    4. exit to userspace
    5. userspace emulates read, kvm sets vcpu->mmio_read_completed
    6. re-enter guest, fault again
    7. kvm emulates read, calls emulator_read_emulated()
    8. succeeds as vcpu->mmio_read_emulated is set
    9. instruction completes and guest is resumed

    A problem surfaces if the userspace exit (step 5) also requests an interrupt
    injection. In that case, the guest does not re-execute the original
    instruction, but the interrupt handler. The next time an mmio read is
    exectued (likely for a different address), step 3 will find
    vcpu->mmio_read_completed set and return the value read for the original
    instruction.

    The problem manifested itself in a few annoying ways:
    - little squares appear randomly on console when switching virtual terminals
    - ne2000 fails under nfs read load
    - rtl8139 complains about "pci errors" even though the device model is
    incapable of issuing them.

    Fix by skipping interrupt injection if an mmio read is pending.

    A better fix is to avoid re-entry into the guest, and re-emulating immediately
    instead. However that's a bit more complex.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • This makes the vmwrite errors on vm shutdown go away.

    Signed-off-by: Avi Kivity
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • This will use pci_register_driver() instead of pci_module_init().

    Signed-off-by: Amit S. Kale
    Signed-off-by: Richard Knutsson
    Signed-off-by: Jeff Garzik

    Amit S. Kale
     
  • This patch is to make the driver work with multiple minor firmware versions

    Signed-off-by: Amit S. Kale
    Signed-off-by: Jeff Garzik

    Amit S. Kale
     
  • Fixed possible nullpointer access in event queue processing

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Added logging of error events associated with a specific queue pair

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Disabled dump of hcall regs on some permission issues and
    fixed appropriate misleading logmessages

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein
     
  • Count OFDT nodes to determine the number of available ports
    instead of using the possibly outdated value from the hypervisor

    Signed-off-by: Thomas Klein
    Signed-off-by: Jeff Garzik

    Thomas Klein