Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b63795fa authored by David Vrabel's avatar David Vrabel Committed by David Vrabel
Browse files

uwb: dont tranmit identification IEs



The current identification IE doesn't include any useful information
(the vendor ID is from the EUI-48) and it causes problems with certain
hardware/firmware so don't transmit one.

Signed-off-by: default avatarDavid Vrabel <david.vrabel@csr.com>
parent b5784f10
Loading
Loading
Loading
Loading
+0 −29
Original line number Diff line number Diff line
@@ -539,32 +539,3 @@ int uwb_rc_ie_rm(struct uwb_rc *uwb_rc, enum uwb_ie element_id)
	return result;
}
EXPORT_SYMBOL_GPL(uwb_rc_ie_rm);


/**
 * Create and set new Identification IE
 *
 * Currently only sets the Vendor ID. The Vendor ID is set from the OUI,
 * which is obtained from the first three bytes from the MAC address.
 */
int uwb_rc_set_identification_ie(struct uwb_rc *uwb_rc)
{
	struct {
		struct uwb_identification_ie id_ie;
		struct uwb_dev_info dev_info;
		struct uwb_vendor_id vendor_id;
	} ie_data;

	ie_data.id_ie.hdr.element_id = UWB_IDENTIFICATION_IE;
	ie_data.id_ie.hdr.length = sizeof(struct uwb_dev_info) +
				   sizeof(struct uwb_vendor_id);

	ie_data.dev_info.type = UWB_DEV_INFO_VENDOR_ID;
	ie_data.dev_info.length = sizeof(struct uwb_vendor_id);

	ie_data.vendor_id.data[0] = uwb_rc->uwb_dev.mac_addr.data[0];
	ie_data.vendor_id.data[1] = uwb_rc->uwb_dev.mac_addr.data[1];
	ie_data.vendor_id.data[2] = uwb_rc->uwb_dev.mac_addr.data[2];

	return uwb_rc_ie_add(uwb_rc, &ie_data.id_ie.hdr, sizeof(ie_data));
}
+0 −6
Original line number Diff line number Diff line
@@ -211,12 +211,6 @@ static int uwb_rc_setup(struct uwb_rc *rc)
		dev_err(dev, "cannot setup IE subsystem: %d\n", result);
		goto error_ie_setup;
	}
	result = uwb_rc_set_identification_ie(rc);
	if (result < 0) {
		dev_err(dev, "cannot set Identification IE: %d\n",
			result);
		goto error_set_id_ie;
	}
	result = uwb_rsv_setup(rc);
	if (result < 0) {
		dev_err(dev, "cannot setup reservation subsystem: %d\n", result);
+0 −1
Original line number Diff line number Diff line
@@ -74,7 +74,6 @@ extern void uwb_rc_ie_release(struct uwb_rc *);
extern int uwb_rc_ie_add(struct uwb_rc *,
			 const struct uwb_ie_hdr *, size_t);
extern int uwb_rc_ie_rm(struct uwb_rc *, enum uwb_ie);
extern int uwb_rc_set_identification_ie(struct uwb_rc *);

extern const char *uwb_rc_strerror(unsigned code);