aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/uwb
diff options
context:
space:
mode:
authorThomas Pugliese <thomas.pugliese@gmail.com>2014-04-25 11:30:33 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 17:56:54 -0400
commit7b360ee09a8bec5783cbecdcb17cd8d70edadf56 (patch)
tree1f0e15c0e2e5e5c7b3ce1ce6fbebe5f1bde7b24c /drivers/uwb
parent90ec00d54e28f4b038e66905ea5b9478bcdc3f37 (diff)
uwb: add error messages when reservation establish fails
Add better error messages during the channel change/reservation establish process. Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/uwb')
-rw-r--r--drivers/uwb/beacon.c4
-rw-r--r--drivers/uwb/rsv.c14
2 files changed, 15 insertions, 3 deletions
diff --git a/drivers/uwb/beacon.c b/drivers/uwb/beacon.c
index 57b5ff61020c..b476187adf55 100644
--- a/drivers/uwb/beacon.c
+++ b/drivers/uwb/beacon.c
@@ -125,8 +125,10 @@ int uwb_rc_beacon(struct uwb_rc *rc, int channel, unsigned bpst_offset)
125 else { 125 else {
126 /* channel >= 0...dah */ 126 /* channel >= 0...dah */
127 result = uwb_rc_start_beacon(rc, bpst_offset, channel); 127 result = uwb_rc_start_beacon(rc, bpst_offset, channel);
128 if (result < 0) 128 if (result < 0) {
129 dev_err(dev, "Cannot start beaconing: %d\n", result);
129 return result; 130 return result;
131 }
130 if (le16_to_cpu(rc->ies->wIELength) > 0) { 132 if (le16_to_cpu(rc->ies->wIELength) > 0) {
131 result = uwb_rc_set_ie(rc, rc->ies); 133 result = uwb_rc_set_ie(rc, rc->ies);
132 if (result < 0) { 134 if (result < 0) {
diff --git a/drivers/uwb/rsv.c b/drivers/uwb/rsv.c
index 4026f1adff01..0887ae982783 100644
--- a/drivers/uwb/rsv.c
+++ b/drivers/uwb/rsv.c
@@ -163,8 +163,10 @@ static int uwb_rsv_get_stream(struct uwb_rsv *rsv)
163 } 163 }
164 164
165 stream = find_first_zero_bit(streams_bm, UWB_NUM_STREAMS); 165 stream = find_first_zero_bit(streams_bm, UWB_NUM_STREAMS);
166 if (stream >= UWB_NUM_STREAMS) 166 if (stream >= UWB_NUM_STREAMS) {
167 dev_err(dev, "%s: no available stream found\n", __func__);
167 return -EBUSY; 168 return -EBUSY;
169 }
168 170
169 rsv->stream = stream; 171 rsv->stream = stream;
170 set_bit(stream, streams_bm); 172 set_bit(stream, streams_bm);
@@ -555,12 +557,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv)
555{ 557{
556 struct uwb_rc *rc = rsv->rc; 558 struct uwb_rc *rc = rsv->rc;
557 struct uwb_mas_bm available; 559 struct uwb_mas_bm available;
560 struct device *dev = &rc->uwb_dev.dev;
558 int ret; 561 int ret;
559 562
560 mutex_lock(&rc->rsvs_mutex); 563 mutex_lock(&rc->rsvs_mutex);
561 ret = uwb_rsv_get_stream(rsv); 564 ret = uwb_rsv_get_stream(rsv);
562 if (ret) 565 if (ret) {
566 dev_err(dev, "%s: uwb_rsv_get_stream failed: %d\n",
567 __func__, ret);
563 goto out; 568 goto out;
569 }
564 570
565 rsv->tiebreaker = prandom_u32() & 1; 571 rsv->tiebreaker = prandom_u32() & 1;
566 /* get available mas bitmap */ 572 /* get available mas bitmap */
@@ -570,12 +576,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv)
570 if (ret == UWB_RSV_ALLOC_NOT_FOUND) { 576 if (ret == UWB_RSV_ALLOC_NOT_FOUND) {
571 ret = -EBUSY; 577 ret = -EBUSY;
572 uwb_rsv_put_stream(rsv); 578 uwb_rsv_put_stream(rsv);
579 dev_err(dev, "%s: uwb_rsv_find_best_allocation failed: %d\n",
580 __func__, ret);
573 goto out; 581 goto out;
574 } 582 }
575 583
576 ret = uwb_drp_avail_reserve_pending(rc, &rsv->mas); 584 ret = uwb_drp_avail_reserve_pending(rc, &rsv->mas);
577 if (ret != 0) { 585 if (ret != 0) {
578 uwb_rsv_put_stream(rsv); 586 uwb_rsv_put_stream(rsv);
587 dev_err(dev, "%s: uwb_drp_avail_reserve_pending failed: %d\n",
588 __func__, ret);
579 goto out; 589 goto out;
580 } 590 }
581 591