Commit 46551564 authored by Stefan Schmidt's avatar Stefan Schmidt Committed by Marcel Holtmann

ieee802154: atusb: store firmware version after retrieval for later use

The firmware versions will be used to enable selective features based on the
available firmware on the device. Make sure we do not need to fetch it for
every check but store it after the initial retrieval.
Signed-off-by: default avatarStefan Schmidt <stefan@osg.samsung.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent c84d59e7
...@@ -58,6 +58,11 @@ struct atusb { ...@@ -58,6 +58,11 @@ struct atusb {
struct urb *tx_urb; struct urb *tx_urb;
struct sk_buff *tx_skb; struct sk_buff *tx_skb;
uint8_t tx_ack_seq; /* current TX ACK sequence number */ uint8_t tx_ack_seq; /* current TX ACK sequence number */
/* Firmware variable */
unsigned char fw_ver_maj; /* Firmware major version number */
unsigned char fw_ver_min; /* Firmware minor version number */
unsigned char fw_hw_type; /* Firmware hardware type */
}; };
/* ----- USB commands without data ----------------------------------------- */ /* ----- USB commands without data ----------------------------------------- */
...@@ -594,14 +599,19 @@ static int atusb_get_and_show_revision(struct atusb *atusb) ...@@ -594,14 +599,19 @@ static int atusb_get_and_show_revision(struct atusb *atusb)
ret = atusb_control_msg(atusb, usb_rcvctrlpipe(usb_dev, 0), ret = atusb_control_msg(atusb, usb_rcvctrlpipe(usb_dev, 0),
ATUSB_ID, ATUSB_REQ_FROM_DEV, 0, 0, ATUSB_ID, ATUSB_REQ_FROM_DEV, 0, 0,
buffer, 3, 1000); buffer, 3, 1000);
if (ret >= 0) if (ret >= 0) {
atusb->fw_ver_maj = buffer[0];
atusb->fw_ver_min = buffer[1];
atusb->fw_hw_type = buffer[2];
dev_info(&usb_dev->dev, dev_info(&usb_dev->dev,
"Firmware: major: %u, minor: %u, hardware type: %u\n", "Firmware: major: %u, minor: %u, hardware type: %u\n",
buffer[0], buffer[1], buffer[2]); atusb->fw_ver_maj, atusb->fw_ver_min, atusb->fw_hw_type);
if (buffer[0] == 0 && buffer[1] < 2) { }
if (atusb->fw_ver_maj == 0 && atusb->fw_ver_min < 2) {
dev_info(&usb_dev->dev, dev_info(&usb_dev->dev,
"Firmware version (%u.%u) is predates our first public release.", "Firmware version (%u.%u) predates our first public release.",
buffer[0], buffer[1]); atusb->fw_ver_maj, atusb->fw_ver_min);
dev_info(&usb_dev->dev, "Please update to version 0.2 or newer"); dev_info(&usb_dev->dev, "Please update to version 0.2 or newer");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment