diff options
author | David Vrabel <david.vrabel@csr.com> | 2008-10-27 12:48:09 -0400 |
---|---|---|
committer | David Vrabel <david.vrabel@csr.com> | 2008-10-28 08:09:17 -0400 |
commit | 1cde7f68ced8d10a20dd2370e9d1d22ab3c1ea5c (patch) | |
tree | 2fb65bbb93eae73e02fa1e9608212536259f8802 /drivers/uwb/lc-rc.c | |
parent | 4d2bea4ca0adb4cebfbf89d34869c74081c42577 (diff) |
uwb: order IEs by element ID
ECMA-368 requires that IEs in a beacon must be sorted by element ID. Most
hardware uses the ordering in the Set IE URC command so get the ordering
right on the host.
Also refactor the IE management code:
- use uwb_ie_next() instead of uwb_ie_for_each().
- remove unnecessary functions.
- API is now only uwb_rc_ie_add() and uwb_rc_ie_rm().
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Diffstat (limited to 'drivers/uwb/lc-rc.c')
-rw-r--r-- | drivers/uwb/lc-rc.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/drivers/uwb/lc-rc.c b/drivers/uwb/lc-rc.c index ee5772f00d42..1129e8767b58 100644 --- a/drivers/uwb/lc-rc.c +++ b/drivers/uwb/lc-rc.c | |||
@@ -468,28 +468,3 @@ void uwb_rc_put(struct uwb_rc *rc) | |||
468 | __uwb_rc_put(rc); | 468 | __uwb_rc_put(rc); |
469 | } | 469 | } |
470 | EXPORT_SYMBOL_GPL(uwb_rc_put); | 470 | EXPORT_SYMBOL_GPL(uwb_rc_put); |
471 | |||
472 | /* | ||
473 | * | ||
474 | * | ||
475 | */ | ||
476 | ssize_t uwb_rc_print_IEs(struct uwb_rc *uwb_rc, char *buf, size_t size) | ||
477 | { | ||
478 | ssize_t result; | ||
479 | struct uwb_rc_evt_get_ie *ie_info; | ||
480 | struct uwb_buf_ctx ctx; | ||
481 | |||
482 | result = uwb_rc_get_ie(uwb_rc, &ie_info); | ||
483 | if (result < 0) | ||
484 | goto error_get_ie; | ||
485 | ctx.buf = buf; | ||
486 | ctx.size = size; | ||
487 | ctx.bytes = 0; | ||
488 | uwb_ie_for_each(&uwb_rc->uwb_dev, uwb_ie_dump_hex, &ctx, | ||
489 | ie_info->IEData, result - sizeof(*ie_info)); | ||
490 | result = ctx.bytes; | ||
491 | kfree(ie_info); | ||
492 | error_get_ie: | ||
493 | return result; | ||
494 | } | ||
495 | |||