diff options
Diffstat (limited to 'drivers/net/wimax/i2400m/usb.c')
-rw-r--r-- | drivers/net/wimax/i2400m/usb.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c index 063422290a4..77d08d92827 100644 --- a/drivers/net/wimax/i2400m/usb.c +++ b/drivers/net/wimax/i2400m/usb.c | |||
@@ -80,11 +80,16 @@ MODULE_PARM_DESC(debug, | |||
80 | "initial debug value to set."); | 80 | "initial debug value to set."); |
81 | 81 | ||
82 | /* Our firmware file name */ | 82 | /* Our firmware file name */ |
83 | static const char *i2400mu_bus_fw_names[] = { | 83 | static const char *i2400mu_bus_fw_names_5x50[] = { |
84 | #define I2400MU_FW_FILE_NAME_v1_4 "i2400m-fw-usb-1.4.sbcf" | 84 | #define I2400MU_FW_FILE_NAME_v1_4 "i2400m-fw-usb-1.4.sbcf" |
85 | I2400MU_FW_FILE_NAME_v1_4, | 85 | I2400MU_FW_FILE_NAME_v1_4, |
86 | #define I2400MU_FW_FILE_NAME_v1_3 "i2400m-fw-usb-1.3.sbcf" | 86 | NULL, |
87 | I2400MU_FW_FILE_NAME_v1_3, | 87 | }; |
88 | |||
89 | |||
90 | static const char *i2400mu_bus_fw_names_6050[] = { | ||
91 | #define I6050U_FW_FILE_NAME_v1_5 "i6050-fw-usb-1.5.sbcf" | ||
92 | I6050U_FW_FILE_NAME_v1_5, | ||
88 | NULL, | 93 | NULL, |
89 | }; | 94 | }; |
90 | 95 | ||
@@ -418,10 +423,16 @@ int i2400mu_probe(struct usb_interface *iface, | |||
418 | i2400m->bus_bm_retries = I2400M_USB_BOOT_RETRIES; | 423 | i2400m->bus_bm_retries = I2400M_USB_BOOT_RETRIES; |
419 | i2400m->bus_bm_cmd_send = i2400mu_bus_bm_cmd_send; | 424 | i2400m->bus_bm_cmd_send = i2400mu_bus_bm_cmd_send; |
420 | i2400m->bus_bm_wait_for_ack = i2400mu_bus_bm_wait_for_ack; | 425 | i2400m->bus_bm_wait_for_ack = i2400mu_bus_bm_wait_for_ack; |
421 | i2400m->bus_fw_names = i2400mu_bus_fw_names; | ||
422 | i2400m->bus_bm_mac_addr_impaired = 0; | 426 | i2400m->bus_bm_mac_addr_impaired = 0; |
423 | 427 | ||
424 | { | 428 | if (id->idProduct == USB_DEVICE_ID_I6050) { |
429 | i2400m->bus_fw_names = i2400mu_bus_fw_names_6050; | ||
430 | i2400mu->endpoint_cfg.bulk_out = 0; | ||
431 | i2400mu->endpoint_cfg.notification = 3; | ||
432 | i2400mu->endpoint_cfg.reset_cold = 2; | ||
433 | i2400mu->endpoint_cfg.bulk_in = 1; | ||
434 | } else { | ||
435 | i2400m->bus_fw_names = i2400mu_bus_fw_names_5x50; | ||
425 | i2400mu->endpoint_cfg.bulk_out = 0; | 436 | i2400mu->endpoint_cfg.bulk_out = 0; |
426 | i2400mu->endpoint_cfg.notification = 1; | 437 | i2400mu->endpoint_cfg.notification = 1; |
427 | i2400mu->endpoint_cfg.reset_cold = 2; | 438 | i2400mu->endpoint_cfg.reset_cold = 2; |
@@ -614,6 +625,7 @@ out: | |||
614 | 625 | ||
615 | static | 626 | static |
616 | struct usb_device_id i2400mu_id_table[] = { | 627 | struct usb_device_id i2400mu_id_table[] = { |
628 | { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050) }, | ||
617 | { USB_DEVICE(0x8086, 0x0181) }, | 629 | { USB_DEVICE(0x8086, 0x0181) }, |
618 | { USB_DEVICE(0x8086, 0x1403) }, | 630 | { USB_DEVICE(0x8086, 0x1403) }, |
619 | { USB_DEVICE(0x8086, 0x1405) }, | 631 | { USB_DEVICE(0x8086, 0x1405) }, |
@@ -656,7 +668,7 @@ void __exit i2400mu_driver_exit(void) | |||
656 | module_exit(i2400mu_driver_exit); | 668 | module_exit(i2400mu_driver_exit); |
657 | 669 | ||
658 | MODULE_AUTHOR("Intel Corporation <linux-wimax@intel.com>"); | 670 | MODULE_AUTHOR("Intel Corporation <linux-wimax@intel.com>"); |
659 | MODULE_DESCRIPTION("Intel 2400M WiMAX networking for USB"); | 671 | MODULE_DESCRIPTION("Driver for USB based Intel Wireless WiMAX Connection 2400M " |
672 | "(5x50 & 6050)"); | ||
660 | MODULE_LICENSE("GPL"); | 673 | MODULE_LICENSE("GPL"); |
661 | MODULE_FIRMWARE(I2400MU_FW_FILE_NAME_v1_4); | 674 | MODULE_FIRMWARE(I2400MU_FW_FILE_NAME_v1_4); |
662 | MODULE_FIRMWARE(I2400MU_FW_FILE_NAME_v1_3); | ||