From: Antti Palosaari Date: Thu, 7 Mar 2013 20:59:55 +0000 (-0300) Subject: [media] af9035: select firmware loader according to firmware X-Git-Tag: firefly_0821_release~3680^2~618^2~361 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8229da506488ec67a051593fe452ee54e91c70cf;p=firefly-linux-kernel-4.4.55.git [media] af9035: select firmware loader according to firmware AF9035 and IT9135 supports two different firmware format. Select correct loader according to first byte of firmware file. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c index ce8cccb8946a..75d99aec10b6 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c @@ -344,7 +344,7 @@ err: return ret; } -static int af9035_download_firmware_af9035(struct dvb_usb_device *d, +static int af9035_download_firmware_old(struct dvb_usb_device *d, const struct firmware *fw) { int ret, i, j, len; @@ -430,7 +430,7 @@ err: return ret; } -static int af9035_download_firmware_it9135(struct dvb_usb_device *d, +static int af9035_download_firmware_new(struct dvb_usb_device *d, const struct firmware *fw) { int ret, i, i_prev; @@ -540,10 +540,10 @@ static int af9035_download_firmware(struct dvb_usb_device *d, } } - if (state->chip_type == 0x9135) - ret = af9035_download_firmware_it9135(d, fw); + if (fw->data[0] == 0x01) + ret = af9035_download_firmware_old(d, fw); else - ret = af9035_download_firmware_af9035(d, fw); + ret = af9035_download_firmware_new(d, fw); if (ret < 0) goto err;