31 Jul, 2012

2 commits


30 Jul, 2012

1 commit


29 Jul, 2012

1 commit


28 Jul, 2012

1 commit


27 Jul, 2012

1 commit


25 Jul, 2012

1 commit

  • NetConsole may call NetSendUDPPacket before NetLoop is called. This
    will cause the source MAC address (NetOurEther) to be wrong. Instead
    of only changing it in NetLoop, move it to NetLoopInit so that it is
    also updated when net_init() is called (especially by nc_start()).

    Signed-off-by: Joe Hershberger
    Reported-by: Michael Walle
    Acked-by: Michael Walle

    Joe Hershberger
     

23 Jul, 2012

2 commits


22 Jul, 2012

5 commits


21 Jul, 2012

6 commits


20 Jul, 2012

13 commits


19 Jul, 2012

1 commit


18 Jul, 2012

6 commits

  • The commit 5dd95cf93dfffa1d19a1928990852aac9f55b9d9 'usb_storage:
    Fix EHCI "out of buffer pointers" with CD-ROM' introduce a bug in
    usb_storage as it wrongly assumes that every transfer can use
    4096 bytes per qt_buffer. This is wrong if the start address of
    the data is not page aligned to 4096 bytes and leads to 'EHCI
    timed out on TD' messages because of 'out of buffer pointers'
    in ehci_td_buffer function.

    The bug appears during load of a fragmented file and
    read from or write to an unaligned memory address.

    Cc: Marek Vasut
    Signed-off-by: Stefan Herbrechtsmeier

    Stefan Herbrechtsmeier
     
  • Align buffers passed to the USB code to cache line size so
    they can be DMAed safely.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Printing message could be useful if something goes really wrong.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Return values of submit_{control,bulk}_msg() functions
    should be checked to detect possible error.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • usb_get_descriptor passes it's buffer argument directly to
    usb_control_msg() so it has to be properly aligned/padded.

    Signed-off-by: Ilya Yanok

    Ilya Yanok
     
  • Buffer coming from upper layers should be cacheline aligned/padded
    to perform safe cache operations. For now we don't do bounce
    buffering so getting unaligned buffer is an upper layer error.
    We can't check if the buffer is properly padded with current
    interface so just assume it is (consider changing with in the
    future). The following changes are done:

    1. Remove useless length alignment check. We get actual transfer
    length not the size of the underlying buffer so it's perfectly
    valid for it to be unaligned.
    2. Move flush_dcache_range() out of while loop or it will
    flush too much.
    3. Don't try to fix buffer address before calling invalidate:
    if it's unaligned it's an error anyway so let cache subsystem
    cry about that.
    4. Fix end buffer address to be cacheline aligned assuming upper
    layer reserved enough space. This is potentially dangerous
    operation so upper layers should be careful about that.

    Signed-off-by: Ilya Yanok

    Ilya Yanok