uwb: target reservations shouldn't get streams
authorDavid Vrabel <david.vrabel@csr.com>
Mon, 27 Oct 2008 15:10:14 +0000 (15:10 +0000)
committerDavid Vrabel <david.vrabel@csr.com>
Tue, 28 Oct 2008 11:57:02 +0000 (11:57 +0000)
The reservation owner should decide the stream index to use based on
what reservations it's created.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
drivers/uwb/rsv.c

index bae16204576db07e1921af4312f9cb756602d20e..e4facae46e0d5fbf37b334f56f2512112f9ba118 100644 (file)
@@ -285,7 +285,8 @@ void uwb_rsv_set_state(struct uwb_rsv *rsv, enum uwb_rsv_state new_state)
        switch (new_state) {
        case UWB_RSV_STATE_NONE:
                uwb_drp_avail_release(rsv->rc, &rsv->mas);
        switch (new_state) {
        case UWB_RSV_STATE_NONE:
                uwb_drp_avail_release(rsv->rc, &rsv->mas);
-               uwb_rsv_put_stream(rsv);
+               if (uwb_rsv_is_owner(rsv))
+                       uwb_rsv_put_stream(rsv);
                uwb_rsv_state_update(rsv, UWB_RSV_STATE_NONE);
                uwb_rsv_callback(rsv);
                break;
                uwb_rsv_state_update(rsv, UWB_RSV_STATE_NONE);
                uwb_rsv_callback(rsv);
                break;
@@ -532,7 +533,6 @@ static struct uwb_rsv *uwb_rsv_new_target(struct uwb_rc *rc,
        rsv->target.dev  = &rc->uwb_dev;
        rsv->type        = uwb_ie_drp_type(drp_ie);
        rsv->stream      = uwb_ie_drp_stream_index(drp_ie);
        rsv->target.dev  = &rc->uwb_dev;
        rsv->type        = uwb_ie_drp_type(drp_ie);
        rsv->stream      = uwb_ie_drp_stream_index(drp_ie);
-       set_bit(rsv->stream, rsv->owner->streams);
        uwb_drp_ie_to_bm(&rsv->mas, drp_ie);
 
        /*
        uwb_drp_ie_to_bm(&rsv->mas, drp_ie);
 
        /*