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));
-}
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);
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);