lkml.org 
[lkml]   [2013]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 31/45] USB: ti_usb_3410_5052: fix big-endian firmware handling
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Johan Hovold <jhovold@gmail.com>

    commit e877dd2f2581628b7119df707d4cf03d940cff49 upstream.

    Fix endianess bugs in firmware handling introduced by commits cb7a7c6a
    ("ti_usb_3410_5052: add Multi-Tech modem support") and 05a3d905
    ("ti_usb_3410_5052: support alternate firmware") which made the driver
    use the wrong firmware for certain devices on big-endian machines.

    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/serial/ti_usb_3410_5052.c | 9 +++++----
    1 file changed, 5 insertions(+), 4 deletions(-)

    --- a/drivers/usb/serial/ti_usb_3410_5052.c
    +++ b/drivers/usb/serial/ti_usb_3410_5052.c
    @@ -1536,14 +1536,15 @@ static int ti_download_firmware(struct t
    char buf[32];

    /* try ID specific firmware first, then try generic firmware */
    - sprintf(buf, "ti_usb-v%04x-p%04x.fw", dev->descriptor.idVendor,
    - dev->descriptor.idProduct);
    + sprintf(buf, "ti_usb-v%04x-p%04x.fw",
    + le16_to_cpu(dev->descriptor.idVendor),
    + le16_to_cpu(dev->descriptor.idProduct));
    status = request_firmware(&fw_p, buf, &dev->dev);

    if (status != 0) {
    buf[0] = '\0';
    - if (dev->descriptor.idVendor == MTS_VENDOR_ID) {
    - switch (dev->descriptor.idProduct) {
    + if (le16_to_cpu(dev->descriptor.idVendor) == MTS_VENDOR_ID) {
    + switch (le16_to_cpu(dev->descriptor.idProduct)) {
    case MTS_CDMA_PRODUCT_ID:
    strcpy(buf, "mts_cdma.fw");
    break;



    \
     
     \ /
      Last update: 2013-08-19 00:21    [W:4.561 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site