Commit 7b360ee0 authored by Thomas Pugliese's avatar Thomas Pugliese Committed by Greg Kroah-Hartman

uwb: add error messages when reservation establish fails

Add better error messages during the channel change/reservation establish
process.
Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 90ec00d5
...@@ -125,8 +125,10 @@ int uwb_rc_beacon(struct uwb_rc *rc, int channel, unsigned bpst_offset) ...@@ -125,8 +125,10 @@ int uwb_rc_beacon(struct uwb_rc *rc, int channel, unsigned bpst_offset)
else { else {
/* channel >= 0...dah */ /* channel >= 0...dah */
result = uwb_rc_start_beacon(rc, bpst_offset, channel); result = uwb_rc_start_beacon(rc, bpst_offset, channel);
if (result < 0) if (result < 0) {
dev_err(dev, "Cannot start beaconing: %d\n", result);
return result; return result;
}
if (le16_to_cpu(rc->ies->wIELength) > 0) { if (le16_to_cpu(rc->ies->wIELength) > 0) {
result = uwb_rc_set_ie(rc, rc->ies); result = uwb_rc_set_ie(rc, rc->ies);
if (result < 0) { if (result < 0) {
......
...@@ -163,8 +163,10 @@ static int uwb_rsv_get_stream(struct uwb_rsv *rsv) ...@@ -163,8 +163,10 @@ static int uwb_rsv_get_stream(struct uwb_rsv *rsv)
} }
stream = find_first_zero_bit(streams_bm, UWB_NUM_STREAMS); stream = find_first_zero_bit(streams_bm, UWB_NUM_STREAMS);
if (stream >= UWB_NUM_STREAMS) if (stream >= UWB_NUM_STREAMS) {
dev_err(dev, "%s: no available stream found\n", __func__);
return -EBUSY; return -EBUSY;
}
rsv->stream = stream; rsv->stream = stream;
set_bit(stream, streams_bm); set_bit(stream, streams_bm);
...@@ -555,12 +557,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv) ...@@ -555,12 +557,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv)
{ {
struct uwb_rc *rc = rsv->rc; struct uwb_rc *rc = rsv->rc;
struct uwb_mas_bm available; struct uwb_mas_bm available;
struct device *dev = &rc->uwb_dev.dev;
int ret; int ret;
mutex_lock(&rc->rsvs_mutex); mutex_lock(&rc->rsvs_mutex);
ret = uwb_rsv_get_stream(rsv); ret = uwb_rsv_get_stream(rsv);
if (ret) if (ret) {
dev_err(dev, "%s: uwb_rsv_get_stream failed: %d\n",
__func__, ret);
goto out; goto out;
}
rsv->tiebreaker = prandom_u32() & 1; rsv->tiebreaker = prandom_u32() & 1;
/* get available mas bitmap */ /* get available mas bitmap */
...@@ -570,12 +576,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv) ...@@ -570,12 +576,16 @@ int uwb_rsv_establish(struct uwb_rsv *rsv)
if (ret == UWB_RSV_ALLOC_NOT_FOUND) { if (ret == UWB_RSV_ALLOC_NOT_FOUND) {
ret = -EBUSY; ret = -EBUSY;
uwb_rsv_put_stream(rsv); uwb_rsv_put_stream(rsv);
dev_err(dev, "%s: uwb_rsv_find_best_allocation failed: %d\n",
__func__, ret);
goto out; goto out;
} }
ret = uwb_drp_avail_reserve_pending(rc, &rsv->mas); ret = uwb_drp_avail_reserve_pending(rc, &rsv->mas);
if (ret != 0) { if (ret != 0) {
uwb_rsv_put_stream(rsv); uwb_rsv_put_stream(rsv);
dev_err(dev, "%s: uwb_drp_avail_reserve_pending failed: %d\n",
__func__, ret);
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment