- if (ret == 0)
- return;
- if (powd->fd < 0) {
- int32_t rate, ch;
- ret = get_btr_sample_rate(btrn, &rate);
- if (ret < 0)
- goto out;
- ret = get_btr_channels(btrn, &ch);
- if (ret < 0)
- goto out;
- ret = oss_init(wn, rate, ch);
+ ret = btr_node_status(btrn, wn->min_iqs, BTR_NT_LEAF);
+ if (ret <= 0)
+ goto out;
+ if (!powd) {
+ int32_t rate, ch, format;
+ get_btr_sample_rate(btrn, &rate);
+ get_btr_channels(btrn, &ch);
+ get_btr_sample_format(btrn, &format);
+ ret = oss_init(wn, rate, ch, format);