diff options
author | David Vrabel <david.vrabel@csr.com> | 2008-09-17 11:34:39 -0400 |
---|---|---|
committer | David Vrabel <dv02@dv02pc01.europe.root.pri> | 2008-09-17 11:54:34 -0400 |
commit | b63795fa3a41151040b86119750a7df508d40cda (patch) | |
tree | 1d69c7400230e835a77c3b84e38ee3a600ef4ace | |
parent | b5784f10d559b3c7b25874b21702ad0907b6fcb7 (diff) |
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: David Vrabel <david.vrabel@csr.com>
-rw-r--r-- | drivers/uwb/ie.c | 29 | ||||
-rw-r--r-- | drivers/uwb/lc-rc.c | 6 | ||||
-rw-r--r-- | drivers/uwb/uwb-internal.h | 1 |
3 files changed, 0 insertions, 36 deletions
diff --git a/drivers/uwb/ie.c b/drivers/uwb/ie.c index d54fe09a986d..cf6f3d152b9d 100644 --- a/drivers/uwb/ie.c +++ b/drivers/uwb/ie.c | |||
@@ -539,32 +539,3 @@ int uwb_rc_ie_rm(struct uwb_rc *uwb_rc, enum uwb_ie element_id) | |||
539 | return result; | 539 | return result; |
540 | } | 540 | } |
541 | EXPORT_SYMBOL_GPL(uwb_rc_ie_rm); | 541 | EXPORT_SYMBOL_GPL(uwb_rc_ie_rm); |
542 | |||
543 | |||
544 | /** | ||
545 | * Create and set new Identification IE | ||
546 | * | ||
547 | * Currently only sets the Vendor ID. The Vendor ID is set from the OUI, | ||
548 | * which is obtained from the first three bytes from the MAC address. | ||
549 | */ | ||
550 | int uwb_rc_set_identification_ie(struct uwb_rc *uwb_rc) | ||
551 | { | ||
552 | struct { | ||
553 | struct uwb_identification_ie id_ie; | ||
554 | struct uwb_dev_info dev_info; | ||
555 | struct uwb_vendor_id vendor_id; | ||
556 | } ie_data; | ||
557 | |||
558 | ie_data.id_ie.hdr.element_id = UWB_IDENTIFICATION_IE; | ||
559 | ie_data.id_ie.hdr.length = sizeof(struct uwb_dev_info) + | ||
560 | sizeof(struct uwb_vendor_id); | ||
561 | |||
562 | ie_data.dev_info.type = UWB_DEV_INFO_VENDOR_ID; | ||
563 | ie_data.dev_info.length = sizeof(struct uwb_vendor_id); | ||
564 | |||
565 | ie_data.vendor_id.data[0] = uwb_rc->uwb_dev.mac_addr.data[0]; | ||
566 | ie_data.vendor_id.data[1] = uwb_rc->uwb_dev.mac_addr.data[1]; | ||
567 | ie_data.vendor_id.data[2] = uwb_rc->uwb_dev.mac_addr.data[2]; | ||
568 | |||
569 | return uwb_rc_ie_add(uwb_rc, &ie_data.id_ie.hdr, sizeof(ie_data)); | ||
570 | } | ||
diff --git a/drivers/uwb/lc-rc.c b/drivers/uwb/lc-rc.c index a21c96bff236..ee5772f00d42 100644 --- a/drivers/uwb/lc-rc.c +++ b/drivers/uwb/lc-rc.c | |||
@@ -211,12 +211,6 @@ static int uwb_rc_setup(struct uwb_rc *rc) | |||
211 | dev_err(dev, "cannot setup IE subsystem: %d\n", result); | 211 | dev_err(dev, "cannot setup IE subsystem: %d\n", result); |
212 | goto error_ie_setup; | 212 | goto error_ie_setup; |
213 | } | 213 | } |
214 | result = uwb_rc_set_identification_ie(rc); | ||
215 | if (result < 0) { | ||
216 | dev_err(dev, "cannot set Identification IE: %d\n", | ||
217 | result); | ||
218 | goto error_set_id_ie; | ||
219 | } | ||
220 | result = uwb_rsv_setup(rc); | 214 | result = uwb_rsv_setup(rc); |
221 | if (result < 0) { | 215 | if (result < 0) { |
222 | dev_err(dev, "cannot setup reservation subsystem: %d\n", result); | 216 | dev_err(dev, "cannot setup reservation subsystem: %d\n", result); |
diff --git a/drivers/uwb/uwb-internal.h b/drivers/uwb/uwb-internal.h index 4f525a889852..2ad307d12961 100644 --- a/drivers/uwb/uwb-internal.h +++ b/drivers/uwb/uwb-internal.h | |||
@@ -74,7 +74,6 @@ extern void uwb_rc_ie_release(struct uwb_rc *); | |||
74 | extern int uwb_rc_ie_add(struct uwb_rc *, | 74 | extern int uwb_rc_ie_add(struct uwb_rc *, |
75 | const struct uwb_ie_hdr *, size_t); | 75 | const struct uwb_ie_hdr *, size_t); |
76 | extern int uwb_rc_ie_rm(struct uwb_rc *, enum uwb_ie); | 76 | extern int uwb_rc_ie_rm(struct uwb_rc *, enum uwb_ie); |
77 | extern int uwb_rc_set_identification_ie(struct uwb_rc *); | ||
78 | 77 | ||
79 | extern const char *uwb_rc_strerror(unsigned code); | 78 | extern const char *uwb_rc_strerror(unsigned code); |
80 | 79 | ||