Hi Luiz, On Sun, Aug 16, 2009, Luiz Augusto von Dentz wrote: > >> >> if (!interface) { > >> >> - if (dev->sink && avdtp_is_connected(&dev->src, &dev->dst)) > >> >> + if (dev->source && avdtp_is_connected(&dev->src, &dev->dst)) > >> >> + return TYPE_SOURCE; > >> >> + else if (dev->sink && avdtp_is_connected(&dev->src, &dev->dst)) > >> >> return TYPE_SINK; > >> > > >> > I think the dev->source check should be in an "else if" clause while the > >> > dev->sink check should be first. I.e. if a device happens to support both > >> > roles of A2DP we default to dev->sink. > >> > >> Good catches, perhaps we should consider doing avdtp_is_connected > >> check before checking for sink/source pointers. What do you think? > > > > What exactly do you mean? Could you perhaps give an example code snippet > > of how you'd like the code to look like? > > > > Johan > > > > Something like this: > > if (avdtp_is_connected(...)) { > if (dev->sink) return TYPE_SINK; > else if (dev->source) return TYPE_SOURCE; > else... > } Sure, but take a look at the bigger context, i.e. the whole select_service function. You need to be careful not to change it's current behavior e.g. in the case that avdtp_is_connected returns TRUE but both dev->sink and dev->source are NULL (not sure how that could happen but your change would change the logic for that case). Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html