-#if 0
- /* Operating class 83 - 2.4 GHz band channels 1..9; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 83;
- p2p->channels.reg_class[cla].channels = 9;
- for (i = 0; i < 9; i++)
- p2p->channels.reg_class[cla].channel[i] = i + 1;
- cla++;
-
- /* Operating class 84 - 2.4 GHz band channels 5..13; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 84;
- p2p->channels.reg_class[cla].channels = 9;
- for (i = 0; i < 9; i++)
- p2p->channels.reg_class[cla].channel[i] = i + 5;
- cla++;
-#endif
- }
-
- if (band5_low) {
- wpa_printf(MSG_DEBUG, "P2P: Enable operating classes for "
- "lower 5 GHz band");
-
- /* Operating class 115 - 5 GHz, channels 36-48 */
- p2p->channels.reg_class[cla].reg_class = 115;
- p2p->channels.reg_class[cla].channels = 4;
- p2p->channels.reg_class[cla].channel[0] = 36;
- p2p->channels.reg_class[cla].channel[1] = 40;
- p2p->channels.reg_class[cla].channel[2] = 44;
- p2p->channels.reg_class[cla].channel[3] = 48;
- cla++;
-
-#if 0
- /* Operating class 116 - 5 GHz, channels 36,44; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 116;
- p2p->channels.reg_class[cla].channels = 2;
- p2p->channels.reg_class[cla].channel[0] = 36;
- p2p->channels.reg_class[cla].channel[1] = 44;
- cla++;
-
- /* Operating class 117 - 5 GHz, channels 40,48; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 117;
- p2p->channels.reg_class[cla].channels = 2;
- p2p->channels.reg_class[cla].channel[0] = 40;
- p2p->channels.reg_class[cla].channel[1] = 48;
- cla++;
-#endif
- }
-
- if (band5_high) {
- wpa_printf(MSG_DEBUG, "P2P: Enable operating classes for "
- "higher 5 GHz band");
-
- /* Operating class 124 - 5 GHz, channels 149,153,157,161 */
- p2p->channels.reg_class[cla].reg_class = 124;
- p2p->channels.reg_class[cla].channels = 4;
- p2p->channels.reg_class[cla].channel[0] = 149;
- p2p->channels.reg_class[cla].channel[1] = 153;
- p2p->channels.reg_class[cla].channel[2] = 157;
- p2p->channels.reg_class[cla].channel[3] = 161;
- cla++;
-
-#if 0
- /* Operating class 126 - 5 GHz, channels 149,157; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 126;
- p2p->channels.reg_class[cla].channels = 2;
- p2p->channels.reg_class[cla].channel[0] = 149;
- p2p->channels.reg_class[cla].channel[1] = 157;
- cla++;
-
- /* Operating class 127 - 5 GHz, channels 153,161; 40 MHz */
- p2p->channels.reg_class[cla].reg_class = 127;
- p2p->channels.reg_class[cla].channels = 2;
- p2p->channels.reg_class[cla].channel[0] = 153;
- p2p->channels.reg_class[cla].channel[1] = 161;
- cla++;
-#endif
+ mode = get_mode(modes, num_modes, o->mode);
+ if (mode == NULL)
+ continue;
+ for (ch = o->min_chan; ch <= o->max_chan; ch += o->inc) {
+ if (!has_channel(mode, ch))
+ continue;
+ if (reg == NULL) {
+ wpa_printf(MSG_DEBUG, "P2P: Add operating "
+ "class %u", o->op_class);
+ reg = &chan->reg_class[cla];
+ cla++;
+ reg->reg_class = o->op_class;
+ }
+ reg->channel[reg->channels] = ch;
+ reg->channels++;
+ }
+ if (reg) {
+ wpa_hexdump(MSG_DEBUG, "P2P: Channels",
+ reg->channel, reg->channels);
+ }