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>
This commit is contained in:
Thomas Pugliese 2014-04-25 10:30:33 -05:00 committed by Greg Kroah-Hartman
parent 90ec00d54e
commit 7b360ee09a
2 changed files with 15 additions and 3 deletions

View file

@ -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) {

View file

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