sdata              69 arch/powerpc/platforms/powernv/opal-sensor.c 		u32 sdata;
sdata              71 arch/powerpc/platforms/powernv/opal-sensor.c 		ret = opal_get_sensor_data(sensor_hndl, &sdata);
sdata              73 arch/powerpc/platforms/powernv/opal-sensor.c 			*sensor_data = sdata;
sdata             713 arch/x86/kernel/e820.c 	struct setup_data *sdata;
sdata             715 arch/x86/kernel/e820.c 	sdata = early_memremap(phys_addr, data_len);
sdata             716 arch/x86/kernel/e820.c 	entries = sdata->len / sizeof(*extmap);
sdata             717 arch/x86/kernel/e820.c 	extmap = (struct boot_e820_entry *)(sdata->data);
sdata             725 arch/x86/kernel/e820.c 	early_memunmap(sdata, data_len);
sdata             238 drivers/dma/s3c24xx-dma.c 	struct soc_data				*sdata;
sdata             271 drivers/dma/s3c24xx-dma.c 	if (s3cdma->sdata->has_reqsel)
sdata             321 drivers/dma/s3c24xx-dma.c 	if (s3cdma->sdata->has_clocks) {
sdata             343 drivers/dma/s3c24xx-dma.c 	if (s3cdma->sdata->has_clocks)
sdata             466 drivers/dma/s3c24xx-dma.c 		if (s3cdma->sdata->has_reqsel) {
sdata             479 drivers/dma/s3c24xx-dma.c 		if (s3cdma->sdata->has_reqsel)
sdata            1189 drivers/dma/s3c24xx-dma.c 	struct soc_data *sdata;
sdata            1206 drivers/dma/s3c24xx-dma.c 	sdata = s3c24xx_dma_get_soc_data(pdev);
sdata            1207 drivers/dma/s3c24xx-dma.c 	if (!sdata)
sdata            1216 drivers/dma/s3c24xx-dma.c 	s3cdma->sdata = sdata;
sdata            1236 drivers/dma/s3c24xx-dma.c 		phy->base = s3cdma->base + (i * sdata->stride);
sdata            1251 drivers/dma/s3c24xx-dma.c 		if (sdata->has_clocks) {
sdata            1254 drivers/dma/s3c24xx-dma.c 			if (IS_ERR(phy->clk) && sdata->has_clocks) {
sdata            1355 drivers/dma/s3c24xx-dma.c 	if (sdata->has_clocks)
sdata            1381 drivers/dma/s3c24xx-dma.c 	struct soc_data *sdata = s3c24xx_dma_get_soc_data(pdev);
sdata            1392 drivers/dma/s3c24xx-dma.c 	if (sdata->has_clocks)
sdata              35 drivers/gpio/gpio-vf610.c 	const struct fsl_gpio_soc_data *sdata;
sdata              90 drivers/gpio/gpio-vf610.c 	if (port->sdata && port->sdata->have_paddr) {
sdata             114 drivers/gpio/gpio-vf610.c 	if (port->sdata && port->sdata->have_paddr) {
sdata             129 drivers/gpio/gpio-vf610.c 	if (port->sdata && port->sdata->have_paddr)
sdata             255 drivers/gpio/gpio-vf610.c 	port->sdata = of_device_get_match_data(dev);
sdata            1516 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c 	u16 mdata, sdata;
sdata            1529 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c 	sdata = bmp_sdr_seq_table(bios);
sdata            1531 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c 		sdata = bmp_ddr_seq_table(bios);
sdata            1537 drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c 	for (; (addr = nvbios_rd32(bios, sdata)) != 0xffffffff; sdata += 4) {
sdata             100 drivers/hwmon/ibmpowernv.c 	struct sensor_data *sdata = container_of(devattr, struct sensor_data,
sdata             105 drivers/hwmon/ibmpowernv.c 	if (sdata->sgrp_data && !sdata->sgrp_data->enable)
sdata             108 drivers/hwmon/ibmpowernv.c 	ret =  opal_get_sensor_data_u64(sdata->id, &x);
sdata             114 drivers/hwmon/ibmpowernv.c 	if (sdata->type == TEMP)
sdata             117 drivers/hwmon/ibmpowernv.c 	else if (sdata->type == POWER_INPUT)
sdata             126 drivers/hwmon/ibmpowernv.c 	struct sensor_data *sdata = container_of(devattr, struct sensor_data,
sdata             129 drivers/hwmon/ibmpowernv.c 	return sprintf(buf, "%u\n", sdata->sgrp_data->enable);
sdata             136 drivers/hwmon/ibmpowernv.c 	struct sensor_data *sdata = container_of(devattr, struct sensor_data,
sdata             138 drivers/hwmon/ibmpowernv.c 	struct sensor_group_data *sgrp_data = sdata->sgrp_data;
sdata             166 drivers/hwmon/ibmpowernv.c 	struct sensor_data *sdata = container_of(devattr, struct sensor_data,
sdata             169 drivers/hwmon/ibmpowernv.c 	return sprintf(buf, "%s\n", sdata->label);
sdata             184 drivers/hwmon/ibmpowernv.c 			      struct sensor_data *sdata, const char *label)
sdata             189 drivers/hwmon/ibmpowernv.c 	n = snprintf(sdata->label, sizeof(sdata->label), "%s", label);
sdata             202 drivers/hwmon/ibmpowernv.c 			n += snprintf(sdata->label + n,
sdata             203 drivers/hwmon/ibmpowernv.c 				      sizeof(sdata->label) - n, " %d",
sdata             206 drivers/hwmon/ibmpowernv.c 			n += snprintf(sdata->label + n,
sdata             207 drivers/hwmon/ibmpowernv.c 				      sizeof(sdata->label) - n, " phy%d", id);
sdata             214 drivers/hwmon/ibmpowernv.c 		n += snprintf(sdata->label + n, sizeof(sdata->label) - n,
sdata             317 drivers/hwmon/ibmpowernv.c static u32 get_sensor_hwmon_index(struct sensor_data *sdata,
sdata             325 drivers/hwmon/ibmpowernv.c 	if (sdata->opal_index != INVALID_INDEX) {
sdata             327 drivers/hwmon/ibmpowernv.c 			if (sdata_table[i].opal_index == sdata->opal_index &&
sdata             328 drivers/hwmon/ibmpowernv.c 			    sdata_table[i].type == sdata->type)
sdata             331 drivers/hwmon/ibmpowernv.c 	return ++sensor_groups[sdata->type].hwmon_index;
sdata             483 drivers/hwmon/ibmpowernv.c static void create_hwmon_attr(struct sensor_data *sdata, const char *attr_name,
sdata             491 drivers/hwmon/ibmpowernv.c 	snprintf(sdata->name, MAX_ATTR_LEN, "%s%d_%s",
sdata             492 drivers/hwmon/ibmpowernv.c 		 sensor_groups[sdata->type].name, sdata->hwmon_index,
sdata             495 drivers/hwmon/ibmpowernv.c 	sysfs_attr_init(&sdata->dev_attr.attr);
sdata             496 drivers/hwmon/ibmpowernv.c 	sdata->dev_attr.attr.name = sdata->name;
sdata             497 drivers/hwmon/ibmpowernv.c 	sdata->dev_attr.show = show;
sdata             499 drivers/hwmon/ibmpowernv.c 		sdata->dev_attr.store = store;
sdata             500 drivers/hwmon/ibmpowernv.c 		sdata->dev_attr.attr.mode = 0664;
sdata             502 drivers/hwmon/ibmpowernv.c 		sdata->dev_attr.attr.mode = 0444;
sdata             506 drivers/hwmon/ibmpowernv.c static void populate_sensor(struct sensor_data *sdata, int od, int hd, int sid,
sdata             517 drivers/hwmon/ibmpowernv.c 	sdata->id = sid;
sdata             518 drivers/hwmon/ibmpowernv.c 	sdata->type = type;
sdata             519 drivers/hwmon/ibmpowernv.c 	sdata->opal_index = od;
sdata             520 drivers/hwmon/ibmpowernv.c 	sdata->hwmon_index = hd;
sdata             521 drivers/hwmon/ibmpowernv.c 	create_hwmon_attr(sdata, attr_name, show, store);
sdata             522 drivers/hwmon/ibmpowernv.c 	pgroup->attrs[sensor_groups[type].attr_count++] = &sdata->dev_attr.attr;
sdata             523 drivers/hwmon/ibmpowernv.c 	sdata->sgrp_data = sgrp_data;
sdata             557 drivers/hwmon/ibmpowernv.c 	struct sensor_data *sdata;
sdata             561 drivers/hwmon/ibmpowernv.c 	sdata = devm_kcalloc(&pdev->dev,
sdata             562 drivers/hwmon/ibmpowernv.c 			     pdata->sensors_count, sizeof(*sdata),
sdata             564 drivers/hwmon/ibmpowernv.c 	if (!sdata)
sdata             592 drivers/hwmon/ibmpowernv.c 		sdata[count].id = sensor_id;
sdata             593 drivers/hwmon/ibmpowernv.c 		sdata[count].type = type;
sdata             607 drivers/hwmon/ibmpowernv.c 		hw_id = get_sensor_hwmon_index(&sdata[count], sdata, count);
sdata             609 drivers/hwmon/ibmpowernv.c 		populate_sensor(&sdata[count], opal_index, hw_id, sensor_id,
sdata             622 drivers/hwmon/ibmpowernv.c 			make_sensor_label(np, &sdata[count], label);
sdata             623 drivers/hwmon/ibmpowernv.c 			populate_sensor(&sdata[count], opal_index, hw_id,
sdata             631 drivers/hwmon/ibmpowernv.c 			populate_sensor(&sdata[count], opal_index, hw_id,
sdata             640 drivers/hwmon/ibmpowernv.c 			populate_sensor(&sdata[count], opal_index, hw_id,
sdata             650 drivers/hwmon/ibmpowernv.c 			populate_sensor(&sdata[count], opal_index, hw_id,
sdata              27 drivers/iio/common/st_sensors/st_sensors_buffer.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              28 drivers/iio/common/st_sensors/st_sensors_buffer.c 	unsigned int num_data_channels = sdata->num_data_channels;
sdata              40 drivers/iio/common/st_sensors/st_sensors_buffer.c 		if (regmap_bulk_read(sdata->regmap, channel->address,
sdata              56 drivers/iio/common/st_sensors/st_sensors_buffer.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              66 drivers/iio/common/st_sensors/st_sensors_buffer.c 		timestamp = sdata->hw_timestamp;
sdata              70 drivers/iio/common/st_sensors/st_sensors_buffer.c 	len = st_sensors_get_buffer_element(indio_dev, sdata->buffer_data);
sdata              74 drivers/iio/common/st_sensors/st_sensors_buffer.c 	iio_push_to_buffers_with_timestamp(indio_dev, sdata->buffer_data,
sdata              32 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              34 drivers/iio/common/st_sensors/st_sensors_core.c 	return regmap_update_bits(sdata->regmap,
sdata              42 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              46 drivers/iio/common/st_sensors/st_sensors_core.c 		return regmap_write(sdata->regmap, reg, writeval);
sdata              48 drivers/iio/common/st_sensors/st_sensors_core.c 	err = regmap_read(sdata->regmap, reg, readval);
sdata              81 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              83 drivers/iio/common/st_sensors/st_sensors_core.c 	if (!sdata->sensor_settings->odr.mask)
sdata              86 drivers/iio/common/st_sensors/st_sensors_core.c 	err = st_sensors_match_odr(sdata->sensor_settings, odr, &odr_out);
sdata              90 drivers/iio/common/st_sensors/st_sensors_core.c 	if ((sdata->sensor_settings->odr.addr ==
sdata              91 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->pw.addr) &&
sdata              92 drivers/iio/common/st_sensors/st_sensors_core.c 				(sdata->sensor_settings->odr.mask ==
sdata              93 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->pw.mask)) {
sdata              94 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->enabled == true) {
sdata              96 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->odr.addr,
sdata              97 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->odr.mask,
sdata             104 drivers/iio/common/st_sensors/st_sensors_core.c 			sdata->sensor_settings->odr.addr,
sdata             105 drivers/iio/common/st_sensors/st_sensors_core.c 			sdata->sensor_settings->odr.mask,
sdata             109 drivers/iio/common/st_sensors/st_sensors_core.c 		sdata->odr = odr_out.hz;
sdata             138 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             140 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->fs.addr == 0)
sdata             143 drivers/iio/common/st_sensors/st_sensors_core.c 	err = st_sensors_match_fs(sdata->sensor_settings, fs, &i);
sdata             148 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->fs.addr,
sdata             149 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->fs.mask,
sdata             150 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->fs.fs_avl[i].value);
sdata             154 drivers/iio/common/st_sensors/st_sensors_core.c 	sdata->current_fullscale = (struct st_sensor_fullscale_avl *)
sdata             155 drivers/iio/common/st_sensors/st_sensors_core.c 					&sdata->sensor_settings->fs.fs_avl[i];
sdata             169 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             172 drivers/iio/common/st_sensors/st_sensors_core.c 		tmp_value = sdata->sensor_settings->pw.value_on;
sdata             173 drivers/iio/common/st_sensors/st_sensors_core.c 		if ((sdata->sensor_settings->odr.addr ==
sdata             174 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->pw.addr) &&
sdata             175 drivers/iio/common/st_sensors/st_sensors_core.c 				(sdata->sensor_settings->odr.mask ==
sdata             176 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->pw.mask)) {
sdata             177 drivers/iio/common/st_sensors/st_sensors_core.c 			err = st_sensors_match_odr(sdata->sensor_settings,
sdata             178 drivers/iio/common/st_sensors/st_sensors_core.c 							sdata->odr, &odr_out);
sdata             185 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->pw.addr,
sdata             186 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->pw.mask, tmp_value);
sdata             190 drivers/iio/common/st_sensors/st_sensors_core.c 		sdata->enabled = true;
sdata             193 drivers/iio/common/st_sensors/st_sensors_core.c 			sdata->odr = odr_out.hz;
sdata             196 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->pw.addr,
sdata             197 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->pw.mask,
sdata             198 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->pw.value_off);
sdata             202 drivers/iio/common/st_sensors/st_sensors_core.c 		sdata->enabled = false;
sdata             212 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             215 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->enable_axis.addr)
sdata             217 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->enable_axis.addr,
sdata             218 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->enable_axis.mask,
sdata             275 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             278 drivers/iio/common/st_sensors/st_sensors_core.c 	if (!sdata->sensor_settings->drdy_irq.int1.addr &&
sdata             279 drivers/iio/common/st_sensors/st_sensors_core.c 	    !sdata->sensor_settings->drdy_irq.int2.addr) {
sdata             290 drivers/iio/common/st_sensors/st_sensors_core.c 		if (!sdata->sensor_settings->drdy_irq.int1.mask) {
sdata             295 drivers/iio/common/st_sensors/st_sensors_core.c 		sdata->drdy_int_pin = 1;
sdata             298 drivers/iio/common/st_sensors/st_sensors_core.c 		if (!sdata->sensor_settings->drdy_irq.int2.mask) {
sdata             303 drivers/iio/common/st_sensors/st_sensors_core.c 		sdata->drdy_int_pin = 2;
sdata             311 drivers/iio/common/st_sensors/st_sensors_core.c 		if (!sdata->sensor_settings->drdy_irq.int1.addr_od &&
sdata             312 drivers/iio/common/st_sensors/st_sensors_core.c 		    !sdata->sensor_settings->drdy_irq.int2.addr_od)
sdata             316 drivers/iio/common/st_sensors/st_sensors_core.c 			sdata->int_pin_open_drain = true;
sdata             383 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             407 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->current_fullscale) {
sdata             409 drivers/iio/common/st_sensors/st_sensors_core.c 						sdata->current_fullscale->num);
sdata             415 drivers/iio/common/st_sensors/st_sensors_core.c 	err = st_sensors_set_odr(indio_dev, sdata->odr);
sdata             420 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->bdu.addr) {
sdata             422 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->bdu.addr,
sdata             423 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->bdu.mask, true);
sdata             429 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->das.addr) {
sdata             431 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->das.addr,
sdata             432 drivers/iio/common/st_sensors/st_sensors_core.c 					sdata->sensor_settings->das.mask, 1);
sdata             437 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->int_pin_open_drain) {
sdata             440 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->drdy_int_pin == 1) {
sdata             441 drivers/iio/common/st_sensors/st_sensors_core.c 			addr = sdata->sensor_settings->drdy_irq.int1.addr_od;
sdata             442 drivers/iio/common/st_sensors/st_sensors_core.c 			mask = sdata->sensor_settings->drdy_irq.int1.mask_od;
sdata             444 drivers/iio/common/st_sensors/st_sensors_core.c 			addr = sdata->sensor_settings->drdy_irq.int2.addr_od;
sdata             445 drivers/iio/common/st_sensors/st_sensors_core.c 			mask = sdata->sensor_settings->drdy_irq.int2.mask_od;
sdata             450 drivers/iio/common/st_sensors/st_sensors_core.c 			 sdata->drdy_int_pin);
sdata             467 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             469 drivers/iio/common/st_sensors/st_sensors_core.c 	if (!sdata->sensor_settings->drdy_irq.int1.addr &&
sdata             470 drivers/iio/common/st_sensors/st_sensors_core.c 	    !sdata->sensor_settings->drdy_irq.int2.addr) {
sdata             477 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->sensor_settings->drdy_irq.stat_drdy.addr)
sdata             478 drivers/iio/common/st_sensors/st_sensors_core.c 			sdata->hw_irq_trigger = enable;
sdata             483 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->drdy_irq.ig1.en_addr > 0) {
sdata             485 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->drdy_irq.ig1.en_addr,
sdata             486 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->drdy_irq.ig1.en_mask,
sdata             492 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->drdy_int_pin == 1) {
sdata             493 drivers/iio/common/st_sensors/st_sensors_core.c 		drdy_addr = sdata->sensor_settings->drdy_irq.int1.addr;
sdata             494 drivers/iio/common/st_sensors/st_sensors_core.c 		drdy_mask = sdata->sensor_settings->drdy_irq.int1.mask;
sdata             496 drivers/iio/common/st_sensors/st_sensors_core.c 		drdy_addr = sdata->sensor_settings->drdy_irq.int2.addr;
sdata             497 drivers/iio/common/st_sensors/st_sensors_core.c 		drdy_mask = sdata->sensor_settings->drdy_irq.int2.mask;
sdata             501 drivers/iio/common/st_sensors/st_sensors_core.c 	sdata->hw_irq_trigger = enable;
sdata             515 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             518 drivers/iio/common/st_sensors/st_sensors_core.c 		if ((sdata->sensor_settings->fs.fs_avl[i].gain == scale) &&
sdata             519 drivers/iio/common/st_sensors/st_sensors_core.c 				(sdata->sensor_settings->fs.fs_avl[i].gain != 0)) {
sdata             528 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->fs.fs_avl[i].num);
sdata             540 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             549 drivers/iio/common/st_sensors/st_sensors_core.c 	err = regmap_bulk_read(sdata->regmap, ch->address,
sdata             571 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             582 drivers/iio/common/st_sensors/st_sensors_core.c 		msleep((sdata->sensor_settings->bootime * 1000) / sdata->odr);
sdata             634 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             637 drivers/iio/common/st_sensors/st_sensors_core.c 	if (sdata->sensor_settings->wai_addr) {
sdata             638 drivers/iio/common/st_sensors/st_sensors_core.c 		err = regmap_read(sdata->regmap,
sdata             639 drivers/iio/common/st_sensors/st_sensors_core.c 				  sdata->sensor_settings->wai_addr, &wai);
sdata             646 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->sensor_settings->wai != wai) {
sdata             663 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             667 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->sensor_settings->odr.odr_avl[i].hz == 0)
sdata             671 drivers/iio/common/st_sensors/st_sensors_core.c 				sdata->sensor_settings->odr.odr_avl[i].hz);
sdata             685 drivers/iio/common/st_sensors/st_sensors_core.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             689 drivers/iio/common/st_sensors/st_sensors_core.c 		if (sdata->sensor_settings->fs.fs_avl[i].num == 0)
sdata             692 drivers/iio/common/st_sensors/st_sensors_core.c 		q = sdata->sensor_settings->fs.fs_avl[i].gain / 1000000;
sdata             693 drivers/iio/common/st_sensors/st_sensors_core.c 		r = sdata->sensor_settings->fs.fs_avl[i].gain % 1000000;
sdata              44 drivers/iio/common/st_sensors/st_sensors_i2c.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              47 drivers/iio/common/st_sensors/st_sensors_i2c.c 	if (sdata->sensor_settings->multi_read_bit)
sdata              52 drivers/iio/common/st_sensors/st_sensors_i2c.c 	sdata->regmap = devm_regmap_init_i2c(client, config);
sdata              53 drivers/iio/common/st_sensors/st_sensors_i2c.c 	if (IS_ERR(sdata->regmap)) {
sdata              55 drivers/iio/common/st_sensors/st_sensors_i2c.c 			(int)PTR_ERR(sdata->regmap));
sdata              56 drivers/iio/common/st_sensors/st_sensors_i2c.c 		return PTR_ERR(sdata->regmap);
sdata              64 drivers/iio/common/st_sensors/st_sensors_i2c.c 	sdata->dev = &client->dev;
sdata              65 drivers/iio/common/st_sensors/st_sensors_i2c.c 	sdata->irq = client->irq;
sdata              84 drivers/iio/common/st_sensors/st_sensors_spi.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              90 drivers/iio/common/st_sensors/st_sensors_spi.c 						      sdata->sensor_settings);
sdata              95 drivers/iio/common/st_sensors/st_sensors_spi.c 	if (sdata->sensor_settings->multi_read_bit)
sdata             100 drivers/iio/common/st_sensors/st_sensors_spi.c 	sdata->regmap = devm_regmap_init_spi(spi, config);
sdata             101 drivers/iio/common/st_sensors/st_sensors_spi.c 	if (IS_ERR(sdata->regmap)) {
sdata             103 drivers/iio/common/st_sensors/st_sensors_spi.c 			(int)PTR_ERR(sdata->regmap));
sdata             104 drivers/iio/common/st_sensors/st_sensors_spi.c 		return PTR_ERR(sdata->regmap);
sdata             112 drivers/iio/common/st_sensors/st_sensors_spi.c 	sdata->dev = &spi->dev;
sdata             113 drivers/iio/common/st_sensors/st_sensors_spi.c 	sdata->irq = spi->irq;
sdata              28 drivers/iio/common/st_sensors/st_sensors_trigger.c 					    struct st_sensor_data *sdata)
sdata              33 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (!sdata->sensor_settings->drdy_irq.stat_drdy.addr)
sdata              40 drivers/iio/common/st_sensors/st_sensors_trigger.c 	ret = regmap_read(sdata->regmap,
sdata              41 drivers/iio/common/st_sensors/st_sensors_trigger.c 			  sdata->sensor_settings->drdy_irq.stat_drdy.addr,
sdata              44 drivers/iio/common/st_sensors/st_sensors_trigger.c 		dev_err(sdata->dev,
sdata              49 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (status & sdata->sensor_settings->drdy_irq.stat_drdy.mask)
sdata              64 drivers/iio/common/st_sensors/st_sensors_trigger.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              67 drivers/iio/common/st_sensors/st_sensors_trigger.c 	sdata->hw_timestamp = iio_get_time_ns(indio_dev);
sdata              80 drivers/iio/common/st_sensors/st_sensors_trigger.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata              89 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (sdata->hw_irq_trigger &&
sdata              90 drivers/iio/common/st_sensors/st_sensors_trigger.c 	    st_sensors_new_samples_available(indio_dev, sdata)) {
sdata              93 drivers/iio/common/st_sensors/st_sensors_trigger.c 		dev_dbg(sdata->dev, "spurious IRQ\n");
sdata             102 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (!sdata->edge_irq)
sdata             111 drivers/iio/common/st_sensors/st_sensors_trigger.c 	while (sdata->hw_irq_trigger &&
sdata             112 drivers/iio/common/st_sensors/st_sensors_trigger.c 	       st_sensors_new_samples_available(indio_dev, sdata)) {
sdata             113 drivers/iio/common/st_sensors/st_sensors_trigger.c 		dev_dbg(sdata->dev, "more samples came in during polling\n");
sdata             114 drivers/iio/common/st_sensors/st_sensors_trigger.c 		sdata->hw_timestamp = iio_get_time_ns(indio_dev);
sdata             124 drivers/iio/common/st_sensors/st_sensors_trigger.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             128 drivers/iio/common/st_sensors/st_sensors_trigger.c 	sdata->trig = iio_trigger_alloc("%s-trigger", indio_dev->name);
sdata             129 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (sdata->trig == NULL) {
sdata             134 drivers/iio/common/st_sensors/st_sensors_trigger.c 	iio_trigger_set_drvdata(sdata->trig, indio_dev);
sdata             135 drivers/iio/common/st_sensors/st_sensors_trigger.c 	sdata->trig->ops = trigger_ops;
sdata             136 drivers/iio/common/st_sensors/st_sensors_trigger.c 	sdata->trig->dev.parent = sdata->dev;
sdata             138 drivers/iio/common/st_sensors/st_sensors_trigger.c 	irq_trig = irqd_get_trigger_type(irq_get_irq_data(sdata->irq));
sdata             146 drivers/iio/common/st_sensors/st_sensors_trigger.c 		if (!sdata->sensor_settings->drdy_irq.addr_ihl) {
sdata             158 drivers/iio/common/st_sensors/st_sensors_trigger.c 				sdata->sensor_settings->drdy_irq.addr_ihl,
sdata             159 drivers/iio/common/st_sensors/st_sensors_trigger.c 				sdata->sensor_settings->drdy_irq.mask_ihl, 1);
sdata             186 drivers/iio/common/st_sensors/st_sensors_trigger.c 		sdata->edge_irq = true;
sdata             204 drivers/iio/common/st_sensors/st_sensors_trigger.c 	if (sdata->int_pin_open_drain &&
sdata             205 drivers/iio/common/st_sensors/st_sensors_trigger.c 	    sdata->sensor_settings->drdy_irq.stat_drdy.addr)
sdata             208 drivers/iio/common/st_sensors/st_sensors_trigger.c 	err = request_threaded_irq(sdata->irq,
sdata             212 drivers/iio/common/st_sensors/st_sensors_trigger.c 				   sdata->trig->name,
sdata             213 drivers/iio/common/st_sensors/st_sensors_trigger.c 				   sdata->trig);
sdata             219 drivers/iio/common/st_sensors/st_sensors_trigger.c 	err = iio_trigger_register(sdata->trig);
sdata             224 drivers/iio/common/st_sensors/st_sensors_trigger.c 	indio_dev->trig = iio_trigger_get(sdata->trig);
sdata             229 drivers/iio/common/st_sensors/st_sensors_trigger.c 	free_irq(sdata->irq, sdata->trig);
sdata             231 drivers/iio/common/st_sensors/st_sensors_trigger.c 	iio_trigger_free(sdata->trig);
sdata             238 drivers/iio/common/st_sensors/st_sensors_trigger.c 	struct st_sensor_data *sdata = iio_priv(indio_dev);
sdata             240 drivers/iio/common/st_sensors/st_sensors_trigger.c 	iio_trigger_unregister(sdata->trig);
sdata             241 drivers/iio/common/st_sensors/st_sensors_trigger.c 	free_irq(sdata->irq, sdata->trig);
sdata             242 drivers/iio/common/st_sensors/st_sensors_trigger.c 	iio_trigger_free(sdata->trig);
sdata            3133 drivers/infiniband/hw/hfi1/rc.c 		u64 sdata;
sdata            3166 drivers/infiniband/hw/hfi1/rc.c 		sdata = get_ib_ateth_swap(ateth);
sdata            3168 drivers/infiniband/hw/hfi1/rc.c 			(u64)atomic64_add_return(sdata, maddr) - sdata :
sdata            3171 drivers/infiniband/hw/hfi1/rc.c 				      sdata);
sdata            2009 drivers/infiniband/hw/qib/qib_rc.c 		u64 sdata;
sdata            2041 drivers/infiniband/hw/qib/qib_rc.c 		sdata = get_ib_ateth_swap(ateth);
sdata            2043 drivers/infiniband/hw/qib/qib_rc.c 			(u64) atomic64_add_return(sdata, maddr) - sdata :
sdata            2046 drivers/infiniband/hw/qib/qib_rc.c 				      sdata);
sdata            2973 drivers/infiniband/sw/rdmavt/qp.c 	u64 sdata;
sdata            3143 drivers/infiniband/sw/rdmavt/qp.c 		sdata = wqe->atomic_wr.compare_add;
sdata            3146 drivers/infiniband/sw/rdmavt/qp.c 			(u64)atomic64_add_return(sdata, maddr) - sdata :
sdata            3148 drivers/infiniband/sw/rdmavt/qp.c 				      sdata, wqe->atomic_wr.swap);
sdata             117 drivers/input/touchscreen/s6sy761.c static int s6sy761_read_events(struct s6sy761_data *sdata, u16 n_events)
sdata             122 drivers/input/touchscreen/s6sy761.c 			.addr	= sdata->client->addr,
sdata             127 drivers/input/touchscreen/s6sy761.c 			.addr	= sdata->client->addr,
sdata             130 drivers/input/touchscreen/s6sy761.c 			.buf	= sdata->data + S6SY761_EVENT_SIZE,
sdata             135 drivers/input/touchscreen/s6sy761.c 	ret = i2c_transfer(sdata->client->adapter, msgs, ARRAY_SIZE(msgs));
sdata             142 drivers/input/touchscreen/s6sy761.c static void s6sy761_report_coordinates(struct s6sy761_data *sdata,
sdata             151 drivers/input/touchscreen/s6sy761.c 	input_mt_slot(sdata->input, tid);
sdata             153 drivers/input/touchscreen/s6sy761.c 	input_mt_report_slot_state(sdata->input, MT_TOOL_FINGER, true);
sdata             154 drivers/input/touchscreen/s6sy761.c 	input_report_abs(sdata->input, ABS_MT_POSITION_X, x);
sdata             155 drivers/input/touchscreen/s6sy761.c 	input_report_abs(sdata->input, ABS_MT_POSITION_Y, y);
sdata             156 drivers/input/touchscreen/s6sy761.c 	input_report_abs(sdata->input, ABS_MT_TOUCH_MAJOR, major);
sdata             157 drivers/input/touchscreen/s6sy761.c 	input_report_abs(sdata->input, ABS_MT_TOUCH_MINOR, minor);
sdata             158 drivers/input/touchscreen/s6sy761.c 	input_report_abs(sdata->input, ABS_MT_PRESSURE, z);
sdata             160 drivers/input/touchscreen/s6sy761.c 	input_sync(sdata->input);
sdata             163 drivers/input/touchscreen/s6sy761.c static void s6sy761_report_release(struct s6sy761_data *sdata,
sdata             166 drivers/input/touchscreen/s6sy761.c 	input_mt_slot(sdata->input, tid);
sdata             167 drivers/input/touchscreen/s6sy761.c 	input_mt_report_slot_state(sdata->input, MT_TOOL_FINGER, false);
sdata             169 drivers/input/touchscreen/s6sy761.c 	input_sync(sdata->input);
sdata             172 drivers/input/touchscreen/s6sy761.c static void s6sy761_handle_coordinates(struct s6sy761_data *sdata, u8 *event)
sdata             188 drivers/input/touchscreen/s6sy761.c 		s6sy761_report_release(sdata, event, tid);
sdata             192 drivers/input/touchscreen/s6sy761.c 		s6sy761_report_coordinates(sdata, event, tid);
sdata             197 drivers/input/touchscreen/s6sy761.c static void s6sy761_handle_events(struct s6sy761_data *sdata, u8 n_events)
sdata             202 drivers/input/touchscreen/s6sy761.c 		u8 *event = &sdata->data[i * S6SY761_EVENT_SIZE];
sdata             211 drivers/input/touchscreen/s6sy761.c 			s6sy761_handle_coordinates(sdata, event);
sdata             225 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev;
sdata             229 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_i2c_block_data(sdata->client,
sdata             232 drivers/input/touchscreen/s6sy761.c 					    sdata->data);
sdata             234 drivers/input/touchscreen/s6sy761.c 		dev_err(&sdata->client->dev, "failed to read events\n");
sdata             238 drivers/input/touchscreen/s6sy761.c 	if (!sdata->data[0])
sdata             241 drivers/input/touchscreen/s6sy761.c 	n_events = sdata->data[7] & S6SY761_MASK_LEFT_EVENTS;
sdata             246 drivers/input/touchscreen/s6sy761.c 		ret = s6sy761_read_events(sdata, n_events);
sdata             248 drivers/input/touchscreen/s6sy761.c 			dev_err(&sdata->client->dev, "failed to read events\n");
sdata             253 drivers/input/touchscreen/s6sy761.c 	s6sy761_handle_events(sdata, n_events +  1);
sdata             260 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = input_get_drvdata(dev);
sdata             262 drivers/input/touchscreen/s6sy761.c 	return i2c_smbus_write_byte(sdata->client, S6SY761_SENSE_ON);
sdata             267 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = input_get_drvdata(dev);
sdata             270 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_write_byte(sdata->client, S6SY761_SENSE_OFF);
sdata             272 drivers/input/touchscreen/s6sy761.c 		dev_err(&sdata->client->dev, "failed to turn off sensing\n");
sdata             278 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev_get_drvdata(dev);
sdata             280 drivers/input/touchscreen/s6sy761.c 	return sprintf(buf, "%#x\n", sdata->devid);
sdata             294 drivers/input/touchscreen/s6sy761.c static int s6sy761_power_on(struct s6sy761_data *sdata)
sdata             300 drivers/input/touchscreen/s6sy761.c 	ret = regulator_bulk_enable(ARRAY_SIZE(sdata->regulators),
sdata             301 drivers/input/touchscreen/s6sy761.c 				    sdata->regulators);
sdata             308 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_i2c_block_data(sdata->client,
sdata             323 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_byte_data(sdata->client, S6SY761_BOOT_STATUS);
sdata             332 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_write_word_data(sdata->client,
sdata             341 drivers/input/touchscreen/s6sy761.c static int s6sy761_hw_init(struct s6sy761_data *sdata,
sdata             347 drivers/input/touchscreen/s6sy761.c 	ret = s6sy761_power_on(sdata);
sdata             351 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_i2c_block_data(sdata->client,
sdata             358 drivers/input/touchscreen/s6sy761.c 	sdata->devid = get_unaligned_be16(buffer + 1);
sdata             360 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_i2c_block_data(sdata->client,
sdata             371 drivers/input/touchscreen/s6sy761.c 	sdata->tx_channel = max_t(u8, buffer[8], 1);
sdata             373 drivers/input/touchscreen/s6sy761.c 	ret = i2c_smbus_read_byte_data(sdata->client,
sdata             385 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = data;
sdata             387 drivers/input/touchscreen/s6sy761.c 	disable_irq(sdata->client->irq);
sdata             388 drivers/input/touchscreen/s6sy761.c 	regulator_bulk_disable(ARRAY_SIZE(sdata->regulators),
sdata             389 drivers/input/touchscreen/s6sy761.c 						sdata->regulators);
sdata             395 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata;
sdata             404 drivers/input/touchscreen/s6sy761.c 	sdata = devm_kzalloc(&client->dev, sizeof(*sdata), GFP_KERNEL);
sdata             405 drivers/input/touchscreen/s6sy761.c 	if (!sdata)
sdata             408 drivers/input/touchscreen/s6sy761.c 	i2c_set_clientdata(client, sdata);
sdata             409 drivers/input/touchscreen/s6sy761.c 	sdata->client = client;
sdata             411 drivers/input/touchscreen/s6sy761.c 	sdata->regulators[S6SY761_REGULATOR_VDD].supply = "vdd";
sdata             412 drivers/input/touchscreen/s6sy761.c 	sdata->regulators[S6SY761_REGULATOR_AVDD].supply = "avdd";
sdata             414 drivers/input/touchscreen/s6sy761.c 				      ARRAY_SIZE(sdata->regulators),
sdata             415 drivers/input/touchscreen/s6sy761.c 				      sdata->regulators);
sdata             419 drivers/input/touchscreen/s6sy761.c 	err = devm_add_action_or_reset(&client->dev, s6sy761_power_off, sdata);
sdata             423 drivers/input/touchscreen/s6sy761.c 	err = s6sy761_hw_init(sdata, &max_x, &max_y);
sdata             427 drivers/input/touchscreen/s6sy761.c 	sdata->input = devm_input_allocate_device(&client->dev);
sdata             428 drivers/input/touchscreen/s6sy761.c 	if (!sdata->input)
sdata             431 drivers/input/touchscreen/s6sy761.c 	sdata->input->name = S6SY761_DEV_NAME;
sdata             432 drivers/input/touchscreen/s6sy761.c 	sdata->input->id.bustype = BUS_I2C;
sdata             433 drivers/input/touchscreen/s6sy761.c 	sdata->input->open = s6sy761_input_open;
sdata             434 drivers/input/touchscreen/s6sy761.c 	sdata->input->close = s6sy761_input_close;
sdata             436 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_POSITION_X, 0, max_x, 0, 0);
sdata             437 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_POSITION_Y, 0, max_y, 0, 0);
sdata             438 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
sdata             439 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MINOR, 0, 255, 0, 0);
sdata             440 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
sdata             441 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MINOR, 0, 255, 0, 0);
sdata             442 drivers/input/touchscreen/s6sy761.c 	input_set_abs_params(sdata->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
sdata             444 drivers/input/touchscreen/s6sy761.c 	touchscreen_parse_properties(sdata->input, true, &sdata->prop);
sdata             446 drivers/input/touchscreen/s6sy761.c 	if (!input_abs_get_max(sdata->input, ABS_X) ||
sdata             447 drivers/input/touchscreen/s6sy761.c 	    !input_abs_get_max(sdata->input, ABS_Y)) {
sdata             451 drivers/input/touchscreen/s6sy761.c 	err = input_mt_init_slots(sdata->input, sdata->tx_channel,
sdata             456 drivers/input/touchscreen/s6sy761.c 	input_set_drvdata(sdata->input, sdata);
sdata             458 drivers/input/touchscreen/s6sy761.c 	err = input_register_device(sdata->input);
sdata             465 drivers/input/touchscreen/s6sy761.c 					"s6sy761_irq", sdata);
sdata             487 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev_get_drvdata(dev);
sdata             489 drivers/input/touchscreen/s6sy761.c 	return i2c_smbus_write_byte_data(sdata->client,
sdata             495 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev_get_drvdata(dev);
sdata             497 drivers/input/touchscreen/s6sy761.c 	return i2c_smbus_write_byte_data(sdata->client,
sdata             503 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev_get_drvdata(dev);
sdata             505 drivers/input/touchscreen/s6sy761.c 	s6sy761_power_off(sdata);
sdata             512 drivers/input/touchscreen/s6sy761.c 	struct s6sy761_data *sdata = dev_get_drvdata(dev);
sdata             514 drivers/input/touchscreen/s6sy761.c 	enable_irq(sdata->client->irq);
sdata             516 drivers/input/touchscreen/s6sy761.c 	return s6sy761_power_on(sdata);
sdata             112 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = container_of(led_cdev,
sdata             116 drivers/input/touchscreen/stmfts.c 	if (value != sdata->led_status && sdata->ledvdd) {
sdata             118 drivers/input/touchscreen/stmfts.c 			regulator_disable(sdata->ledvdd);
sdata             120 drivers/input/touchscreen/stmfts.c 			err = regulator_enable(sdata->ledvdd);
sdata             122 drivers/input/touchscreen/stmfts.c 				dev_warn(&sdata->client->dev,
sdata             128 drivers/input/touchscreen/stmfts.c 		sdata->led_status = value;
sdata             136 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = container_of(led_cdev,
sdata             139 drivers/input/touchscreen/stmfts.c 	return !!regulator_is_enabled(sdata->ledvdd);
sdata             146 drivers/input/touchscreen/stmfts.c static int stmfts_read_events(struct stmfts_data *sdata)
sdata             151 drivers/input/touchscreen/stmfts.c 			.addr	= sdata->client->addr,
sdata             156 drivers/input/touchscreen/stmfts.c 			.addr	= sdata->client->addr,
sdata             159 drivers/input/touchscreen/stmfts.c 			.buf	= sdata->data,
sdata             164 drivers/input/touchscreen/stmfts.c 	ret = i2c_transfer(sdata->client->adapter, msgs, ARRAY_SIZE(msgs));
sdata             171 drivers/input/touchscreen/stmfts.c static void stmfts_report_contact_event(struct stmfts_data *sdata,
sdata             182 drivers/input/touchscreen/stmfts.c 	input_mt_slot(sdata->input, slot_id);
sdata             184 drivers/input/touchscreen/stmfts.c 	input_mt_report_slot_state(sdata->input, MT_TOOL_FINGER, true);
sdata             185 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_POSITION_X, x);
sdata             186 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_POSITION_Y, y);
sdata             187 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_TOUCH_MAJOR, maj);
sdata             188 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_TOUCH_MINOR, min);
sdata             189 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_PRESSURE, area);
sdata             190 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_MT_ORIENTATION, orientation);
sdata             192 drivers/input/touchscreen/stmfts.c 	input_sync(sdata->input);
sdata             195 drivers/input/touchscreen/stmfts.c static void stmfts_report_contact_release(struct stmfts_data *sdata,
sdata             200 drivers/input/touchscreen/stmfts.c 	input_mt_slot(sdata->input, slot_id);
sdata             201 drivers/input/touchscreen/stmfts.c 	input_mt_report_slot_state(sdata->input, MT_TOOL_FINGER, false);
sdata             203 drivers/input/touchscreen/stmfts.c 	input_sync(sdata->input);
sdata             206 drivers/input/touchscreen/stmfts.c static void stmfts_report_hover_event(struct stmfts_data *sdata,
sdata             213 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_X, x);
sdata             214 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_Y, y);
sdata             215 drivers/input/touchscreen/stmfts.c 	input_report_abs(sdata->input, ABS_DISTANCE, z);
sdata             217 drivers/input/touchscreen/stmfts.c 	input_sync(sdata->input);
sdata             220 drivers/input/touchscreen/stmfts.c static void stmfts_report_key_event(struct stmfts_data *sdata, const u8 event[])
sdata             224 drivers/input/touchscreen/stmfts.c 		input_report_key(sdata->input, KEY_BACK, 0);
sdata             225 drivers/input/touchscreen/stmfts.c 		input_report_key(sdata->input, KEY_MENU, 0);
sdata             229 drivers/input/touchscreen/stmfts.c 		input_report_key(sdata->input, KEY_BACK, 1);
sdata             233 drivers/input/touchscreen/stmfts.c 		input_report_key(sdata->input, KEY_MENU, 1);
sdata             237 drivers/input/touchscreen/stmfts.c 		dev_warn(&sdata->client->dev,
sdata             242 drivers/input/touchscreen/stmfts.c 	input_sync(sdata->input);
sdata             245 drivers/input/touchscreen/stmfts.c static void stmfts_parse_events(struct stmfts_data *sdata)
sdata             250 drivers/input/touchscreen/stmfts.c 		u8 *event = &sdata->data[i * STMFTS_EVENT_SIZE];
sdata             257 drivers/input/touchscreen/stmfts.c 			complete(&sdata->cmd_done);
sdata             269 drivers/input/touchscreen/stmfts.c 			stmfts_report_contact_event(sdata, event);
sdata             273 drivers/input/touchscreen/stmfts.c 			stmfts_report_contact_release(sdata, event);
sdata             279 drivers/input/touchscreen/stmfts.c 			stmfts_report_hover_event(sdata, event);
sdata             283 drivers/input/touchscreen/stmfts.c 			stmfts_report_key_event(sdata, event);
sdata             287 drivers/input/touchscreen/stmfts.c 			dev_warn(&sdata->client->dev,
sdata             294 drivers/input/touchscreen/stmfts.c 			dev_err(&sdata->client->dev,
sdata             302 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev;
sdata             305 drivers/input/touchscreen/stmfts.c 	mutex_lock(&sdata->mutex);
sdata             307 drivers/input/touchscreen/stmfts.c 	err = stmfts_read_events(sdata);
sdata             309 drivers/input/touchscreen/stmfts.c 		dev_err(&sdata->client->dev,
sdata             312 drivers/input/touchscreen/stmfts.c 		stmfts_parse_events(sdata);
sdata             314 drivers/input/touchscreen/stmfts.c 	mutex_unlock(&sdata->mutex);
sdata             318 drivers/input/touchscreen/stmfts.c static int stmfts_command(struct stmfts_data *sdata, const u8 cmd)
sdata             322 drivers/input/touchscreen/stmfts.c 	reinit_completion(&sdata->cmd_done);
sdata             324 drivers/input/touchscreen/stmfts.c 	err = i2c_smbus_write_byte(sdata->client, cmd);
sdata             328 drivers/input/touchscreen/stmfts.c 	if (!wait_for_completion_timeout(&sdata->cmd_done,
sdata             337 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = input_get_drvdata(dev);
sdata             340 drivers/input/touchscreen/stmfts.c 	err = pm_runtime_get_sync(&sdata->client->dev);
sdata             344 drivers/input/touchscreen/stmfts.c 	err = i2c_smbus_write_byte(sdata->client, STMFTS_MS_MT_SENSE_ON);
sdata             348 drivers/input/touchscreen/stmfts.c 	mutex_lock(&sdata->mutex);
sdata             349 drivers/input/touchscreen/stmfts.c 	sdata->running = true;
sdata             351 drivers/input/touchscreen/stmfts.c 	if (sdata->hover_enabled) {
sdata             352 drivers/input/touchscreen/stmfts.c 		err = i2c_smbus_write_byte(sdata->client,
sdata             355 drivers/input/touchscreen/stmfts.c 			dev_warn(&sdata->client->dev,
sdata             358 drivers/input/touchscreen/stmfts.c 	mutex_unlock(&sdata->mutex);
sdata             360 drivers/input/touchscreen/stmfts.c 	if (sdata->use_key) {
sdata             361 drivers/input/touchscreen/stmfts.c 		err = i2c_smbus_write_byte(sdata->client,
sdata             365 drivers/input/touchscreen/stmfts.c 			dev_warn(&sdata->client->dev,
sdata             374 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = input_get_drvdata(dev);
sdata             377 drivers/input/touchscreen/stmfts.c 	err = i2c_smbus_write_byte(sdata->client, STMFTS_MS_MT_SENSE_OFF);
sdata             379 drivers/input/touchscreen/stmfts.c 		dev_warn(&sdata->client->dev,
sdata             382 drivers/input/touchscreen/stmfts.c 	mutex_lock(&sdata->mutex);
sdata             384 drivers/input/touchscreen/stmfts.c 	sdata->running = false;
sdata             386 drivers/input/touchscreen/stmfts.c 	if (sdata->hover_enabled) {
sdata             387 drivers/input/touchscreen/stmfts.c 		err = i2c_smbus_write_byte(sdata->client,
sdata             390 drivers/input/touchscreen/stmfts.c 			dev_warn(&sdata->client->dev,
sdata             393 drivers/input/touchscreen/stmfts.c 	mutex_unlock(&sdata->mutex);
sdata             395 drivers/input/touchscreen/stmfts.c 	if (sdata->use_key) {
sdata             396 drivers/input/touchscreen/stmfts.c 		err = i2c_smbus_write_byte(sdata->client,
sdata             399 drivers/input/touchscreen/stmfts.c 			dev_warn(&sdata->client->dev,
sdata             403 drivers/input/touchscreen/stmfts.c 	pm_runtime_put_sync(&sdata->client->dev);
sdata             409 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             411 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%#x\n", sdata->chip_id);
sdata             417 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             419 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%u\n", sdata->chip_ver);
sdata             425 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             427 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%u\n", sdata->fw_ver);
sdata             433 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             435 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%#x\n", sdata->config_id);
sdata             441 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             443 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%u\n", sdata->config_ver);
sdata             449 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             453 drivers/input/touchscreen/stmfts.c 	err = i2c_smbus_read_i2c_block_data(sdata->client, STMFTS_READ_STATUS,
sdata             464 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             466 drivers/input/touchscreen/stmfts.c 	return sprintf(buf, "%u\n", sdata->hover_enabled);
sdata             473 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             480 drivers/input/touchscreen/stmfts.c 	mutex_lock(&sdata->mutex);
sdata             482 drivers/input/touchscreen/stmfts.c 	if (value & sdata->hover_enabled)
sdata             485 drivers/input/touchscreen/stmfts.c 	if (sdata->running)
sdata             486 drivers/input/touchscreen/stmfts.c 		err = i2c_smbus_write_byte(sdata->client,
sdata             491 drivers/input/touchscreen/stmfts.c 		sdata->hover_enabled = !!value;
sdata             494 drivers/input/touchscreen/stmfts.c 	mutex_unlock(&sdata->mutex);
sdata             523 drivers/input/touchscreen/stmfts.c static int stmfts_power_on(struct stmfts_data *sdata)
sdata             528 drivers/input/touchscreen/stmfts.c 	err = regulator_bulk_enable(ARRAY_SIZE(sdata->regulators),
sdata             529 drivers/input/touchscreen/stmfts.c 				    sdata->regulators);
sdata             539 drivers/input/touchscreen/stmfts.c 	err = i2c_smbus_read_i2c_block_data(sdata->client, STMFTS_READ_INFO,
sdata             546 drivers/input/touchscreen/stmfts.c 	sdata->chip_id = be16_to_cpup((__be16 *)&reg[6]);
sdata             547 drivers/input/touchscreen/stmfts.c 	sdata->chip_ver = reg[0];
sdata             548 drivers/input/touchscreen/stmfts.c 	sdata->fw_ver = be16_to_cpup((__be16 *)&reg[2]);
sdata             549 drivers/input/touchscreen/stmfts.c 	sdata->config_id = reg[4];
sdata             550 drivers/input/touchscreen/stmfts.c 	sdata->config_ver = reg[5];
sdata             552 drivers/input/touchscreen/stmfts.c 	enable_irq(sdata->client->irq);
sdata             556 drivers/input/touchscreen/stmfts.c 	err = stmfts_command(sdata, STMFTS_SYSTEM_RESET);
sdata             560 drivers/input/touchscreen/stmfts.c 	err = stmfts_command(sdata, STMFTS_SLEEP_OUT);
sdata             565 drivers/input/touchscreen/stmfts.c 	err = stmfts_command(sdata, STMFTS_MS_CX_TUNING);
sdata             567 drivers/input/touchscreen/stmfts.c 		dev_warn(&sdata->client->dev,
sdata             571 drivers/input/touchscreen/stmfts.c 	err = stmfts_command(sdata, STMFTS_SS_CX_TUNING);
sdata             573 drivers/input/touchscreen/stmfts.c 		dev_warn(&sdata->client->dev,
sdata             576 drivers/input/touchscreen/stmfts.c 	err = stmfts_command(sdata, STMFTS_FULL_FORCE_CALIBRATION);
sdata             584 drivers/input/touchscreen/stmfts.c 	(void) i2c_smbus_write_byte(sdata->client, STMFTS_SLEEP_IN);
sdata             591 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = data;
sdata             593 drivers/input/touchscreen/stmfts.c 	disable_irq(sdata->client->irq);
sdata             594 drivers/input/touchscreen/stmfts.c 	regulator_bulk_disable(ARRAY_SIZE(sdata->regulators),
sdata             595 drivers/input/touchscreen/stmfts.c 						sdata->regulators);
sdata             601 drivers/input/touchscreen/stmfts.c static int stmfts_enable_led(struct stmfts_data *sdata)
sdata             606 drivers/input/touchscreen/stmfts.c 	sdata->ledvdd = devm_regulator_get(&sdata->client->dev, "ledvdd");
sdata             607 drivers/input/touchscreen/stmfts.c 	if (IS_ERR(sdata->ledvdd))
sdata             608 drivers/input/touchscreen/stmfts.c 		return PTR_ERR(sdata->ledvdd);
sdata             610 drivers/input/touchscreen/stmfts.c 	sdata->led_cdev.name = STMFTS_DEV_NAME;
sdata             611 drivers/input/touchscreen/stmfts.c 	sdata->led_cdev.max_brightness = LED_ON;
sdata             612 drivers/input/touchscreen/stmfts.c 	sdata->led_cdev.brightness = LED_OFF;
sdata             613 drivers/input/touchscreen/stmfts.c 	sdata->led_cdev.brightness_set_blocking = stmfts_brightness_set;
sdata             614 drivers/input/touchscreen/stmfts.c 	sdata->led_cdev.brightness_get = stmfts_brightness_get;
sdata             616 drivers/input/touchscreen/stmfts.c 	err = devm_led_classdev_register(&sdata->client->dev, &sdata->led_cdev);
sdata             618 drivers/input/touchscreen/stmfts.c 		devm_regulator_put(sdata->ledvdd);
sdata             629 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata;
sdata             636 drivers/input/touchscreen/stmfts.c 	sdata = devm_kzalloc(&client->dev, sizeof(*sdata), GFP_KERNEL);
sdata             637 drivers/input/touchscreen/stmfts.c 	if (!sdata)
sdata             640 drivers/input/touchscreen/stmfts.c 	i2c_set_clientdata(client, sdata);
sdata             642 drivers/input/touchscreen/stmfts.c 	sdata->client = client;
sdata             643 drivers/input/touchscreen/stmfts.c 	mutex_init(&sdata->mutex);
sdata             644 drivers/input/touchscreen/stmfts.c 	init_completion(&sdata->cmd_done);
sdata             646 drivers/input/touchscreen/stmfts.c 	sdata->regulators[STMFTS_REGULATOR_VDD].supply = "vdd";
sdata             647 drivers/input/touchscreen/stmfts.c 	sdata->regulators[STMFTS_REGULATOR_AVDD].supply = "avdd";
sdata             649 drivers/input/touchscreen/stmfts.c 				      ARRAY_SIZE(sdata->regulators),
sdata             650 drivers/input/touchscreen/stmfts.c 				      sdata->regulators);
sdata             654 drivers/input/touchscreen/stmfts.c 	sdata->input = devm_input_allocate_device(&client->dev);
sdata             655 drivers/input/touchscreen/stmfts.c 	if (!sdata->input)
sdata             658 drivers/input/touchscreen/stmfts.c 	sdata->input->name = STMFTS_DEV_NAME;
sdata             659 drivers/input/touchscreen/stmfts.c 	sdata->input->id.bustype = BUS_I2C;
sdata             660 drivers/input/touchscreen/stmfts.c 	sdata->input->open = stmfts_input_open;
sdata             661 drivers/input/touchscreen/stmfts.c 	sdata->input->close = stmfts_input_close;
sdata             663 drivers/input/touchscreen/stmfts.c 	input_set_capability(sdata->input, EV_ABS, ABS_MT_POSITION_X);
sdata             664 drivers/input/touchscreen/stmfts.c 	input_set_capability(sdata->input, EV_ABS, ABS_MT_POSITION_Y);
sdata             665 drivers/input/touchscreen/stmfts.c 	touchscreen_parse_properties(sdata->input, true, &sdata->prop);
sdata             667 drivers/input/touchscreen/stmfts.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
sdata             668 drivers/input/touchscreen/stmfts.c 	input_set_abs_params(sdata->input, ABS_MT_TOUCH_MINOR, 0, 255, 0, 0);
sdata             669 drivers/input/touchscreen/stmfts.c 	input_set_abs_params(sdata->input, ABS_MT_ORIENTATION, 0, 255, 0, 0);
sdata             670 drivers/input/touchscreen/stmfts.c 	input_set_abs_params(sdata->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
sdata             671 drivers/input/touchscreen/stmfts.c 	input_set_abs_params(sdata->input, ABS_DISTANCE, 0, 255, 0, 0);
sdata             673 drivers/input/touchscreen/stmfts.c 	sdata->use_key = device_property_read_bool(&client->dev,
sdata             675 drivers/input/touchscreen/stmfts.c 	if (sdata->use_key) {
sdata             676 drivers/input/touchscreen/stmfts.c 		input_set_capability(sdata->input, EV_KEY, KEY_MENU);
sdata             677 drivers/input/touchscreen/stmfts.c 		input_set_capability(sdata->input, EV_KEY, KEY_BACK);
sdata             680 drivers/input/touchscreen/stmfts.c 	err = input_mt_init_slots(sdata->input,
sdata             685 drivers/input/touchscreen/stmfts.c 	input_set_drvdata(sdata->input, sdata);
sdata             698 drivers/input/touchscreen/stmfts.c 					"stmfts_irq", sdata);
sdata             704 drivers/input/touchscreen/stmfts.c 	err = stmfts_power_on(sdata);
sdata             708 drivers/input/touchscreen/stmfts.c 	err = devm_add_action_or_reset(&client->dev, stmfts_power_off, sdata);
sdata             712 drivers/input/touchscreen/stmfts.c 	err = input_register_device(sdata->input);
sdata             716 drivers/input/touchscreen/stmfts.c 	if (sdata->use_key) {
sdata             717 drivers/input/touchscreen/stmfts.c 		err = stmfts_enable_led(sdata);
sdata             726 drivers/input/touchscreen/stmfts.c 			sdata->ledvdd = NULL;
sdata             749 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             752 drivers/input/touchscreen/stmfts.c 	ret = i2c_smbus_write_byte(sdata->client, STMFTS_SLEEP_IN);
sdata             761 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             764 drivers/input/touchscreen/stmfts.c 	ret = i2c_smbus_write_byte(sdata->client, STMFTS_SLEEP_OUT);
sdata             773 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             775 drivers/input/touchscreen/stmfts.c 	stmfts_power_off(sdata);
sdata             782 drivers/input/touchscreen/stmfts.c 	struct stmfts_data *sdata = dev_get_drvdata(dev);
sdata             784 drivers/input/touchscreen/stmfts.c 	return stmfts_power_on(sdata);
sdata              49 drivers/media/pci/cx18/cx18-vbi.c 		struct v4l2_sliced_vbi_data *sdata = cx->vbi.sliced_data + i;
sdata              52 drivers/media/pci/cx18/cx18-vbi.c 		if (sdata->id == 0)
sdata              55 drivers/media/pci/cx18/cx18-vbi.c 		l = sdata->line - 6;
sdata              56 drivers/media/pci/cx18/cx18-vbi.c 		f = sdata->field;
sdata              63 drivers/media/pci/cx18/cx18-vbi.c 		dst[sd + 12 + line * 43] = cx18_service2vbi(sdata->id);
sdata              64 drivers/media/pci/cx18/cx18-vbi.c 		memcpy(dst + sd + 12 + line * 43 + 1, sdata->data, 42);
sdata            1253 drivers/platform/x86/samsung-laptop.c 	struct sabi_data *sdata = &samsung->debug.data;
sdata            1258 drivers/platform/x86/samsung-laptop.c 		   sdata->d0, sdata->d1, sdata->d2, sdata->d3);
sdata            1260 drivers/platform/x86/samsung-laptop.c 	ret = sabi_command(samsung, samsung->debug.command, sdata, sdata);
sdata            1269 drivers/platform/x86/samsung-laptop.c 		   sdata->d0, sdata->d1, sdata->d2, sdata->d3);
sdata             646 drivers/s390/cio/device_pgid.c 	struct stlck_data *sdata = data;
sdata             648 drivers/s390/cio/device_pgid.c 	sdata->rc = rc;
sdata             649 drivers/s390/cio/device_pgid.c 	complete(&sdata->done);
sdata            2233 drivers/scsi/gdth.c                 cmdp->u.raw64.sdata = (u64)-1;
sdata            2242 drivers/scsi/gdth.c                 cmdp->u.raw.sdata = 0xffffffff;
sdata            2260 drivers/scsi/gdth.c                    cmdp->u.raw64.sdata,cmdp->u.raw64.sg_ranz,
sdata            2268 drivers/scsi/gdth.c                    cmdp->u.raw.sdata,cmdp->u.raw.sg_ranz,
sdata            3602 drivers/scsi/gdth.c 			gen->command.u.raw64.sdata = (u64)-1;
sdata            3608 drivers/scsi/gdth.c 			gen->command.u.raw64.sdata = paddr;
sdata            3615 drivers/scsi/gdth.c 			gen->command.u.raw.sdata = 0xffffffff;
sdata            3621 drivers/scsi/gdth.c 			gen->command.u.raw.sdata = paddr;
sdata              87 drivers/scsi/gdth_ioctl.h             u32     sdata;                  /* dest. addr. (if s/g: -1) */
sdata             106 drivers/scsi/gdth_ioctl.h             u64     sdata;                  /* dest. addr. (if s/g: -1) */
sdata              37 drivers/thermal/st/st_thermal_memmap.c static irqreturn_t st_mmap_thermal_trip_handler(int irq, void *sdata)
sdata              39 drivers/thermal/st/st_thermal_memmap.c 	struct st_thermal_sensor *sensor = sdata;
sdata             106 drivers/thermal/st/stm_thermal.c static irqreturn_t stm_thermal_alarm_irq(int irq, void *sdata)
sdata             108 drivers/thermal/st/stm_thermal.c 	struct stm_thermal_sensor *sensor = sdata;
sdata             116 drivers/thermal/st/stm_thermal.c static irqreturn_t stm_thermal_alarm_irq_thread(int irq, void *sdata)
sdata             119 drivers/thermal/st/stm_thermal.c 	struct stm_thermal_sensor *sensor = sdata;
sdata            2376 drivers/tty/serial/fsl_lpuart.c 	const struct lpuart_soc_data *sdata = of_id->data;
sdata            2391 drivers/tty/serial/fsl_lpuart.c 	sport->port.membase += sdata->reg_off;
sdata            2395 drivers/tty/serial/fsl_lpuart.c 	sport->devtype = sdata->devtype;
sdata            2400 drivers/tty/serial/fsl_lpuart.c 	sport->port.iotype = sdata->iotype;
sdata             120 fs/udf/partition.c 	struct udf_sparing_data *sdata;
sdata             123 fs/udf/partition.c 	sdata = &map->s_type_specific.s_sparing;
sdata             124 fs/udf/partition.c 	packet = (block + offset) & ~(sdata->s_packet_len - 1);
sdata             127 fs/udf/partition.c 		if (sdata->s_spar_map[i] != NULL) {
sdata             129 fs/udf/partition.c 					sdata->s_spar_map[i]->b_data;
sdata             143 fs/udf/partition.c 						(sdata->s_packet_len - 1));
sdata             154 fs/udf/partition.c 	struct udf_sparing_data *sdata;
sdata             169 fs/udf/partition.c 			sdata = &map->s_type_specific.s_sparing;
sdata             171 fs/udf/partition.c 						~(sdata->s_packet_len - 1);
sdata             174 fs/udf/partition.c 				if (sdata->s_spar_map[j] != NULL) {
sdata             176 fs/udf/partition.c 						sdata->s_spar_map[j]->b_data;
sdata             194 fs/udf/partition.c 						bh = sdata->s_spar_map[j];
sdata             213 fs/udf/partition.c 						     (sdata->s_packet_len - 1));
sdata             221 fs/udf/partition.c 						     (sdata->s_packet_len - 1));
sdata             236 fs/udf/partition.c 					bh = sdata->s_spar_map[j];
sdata             259 fs/udf/partition.c 					 (sdata->s_packet_len - 1));
sdata            1337 fs/udf/super.c 	struct udf_sparing_data *sdata = &map->s_type_specific.s_sparing;
sdata            1342 fs/udf/super.c 	sdata->s_packet_len = le16_to_cpu(spm->packetLength);
sdata            1343 fs/udf/super.c 	if (!is_power_of_2(sdata->s_packet_len)) {
sdata            1346 fs/udf/super.c 			(unsigned)sdata->s_packet_len);
sdata            1372 fs/udf/super.c 		sdata->s_spar_map[i] = bh;
sdata              72 include/asm-generic/vmlinux.lds.h #define SDATA_MAIN .sdata .sdata.[0-9a-zA-Z_]*
sdata              79 include/asm-generic/vmlinux.lds.h #define SDATA_MAIN .sdata
sdata             550 include/net/9p/9p.h 	u8 *sdata;
sdata             164 include/trace/events/9p.h 		    memcpy(__entry->line, pdu->sdata, P9_PROTO_DUMP_SZ);
sdata             229 net/9p/client.c 		fc->sdata = kmem_cache_alloc(c->fcall_cache, GFP_NOFS);
sdata             232 net/9p/client.c 		fc->sdata = kmalloc(alloc_msize, GFP_NOFS);
sdata             235 net/9p/client.c 	if (!fc->sdata)
sdata             246 net/9p/client.c 	if (unlikely(!fc->sdata))
sdata             250 net/9p/client.c 		kmem_cache_free(fc->cache, fc->sdata);
sdata             252 net/9p/client.c 		kfree(fc->sdata);
sdata             600 net/9p/client.c 		ename = &req->rc.sdata[req->rc.offset];
sdata              49 net/9p/protocol.c 	memcpy(data, &pdu->sdata[pdu->offset], len);
sdata              57 net/9p/protocol.c 	memcpy(&pdu->sdata[pdu->size], data, len);
sdata              67 net/9p/protocol.c 	if (!copy_from_iter_full(&pdu->sdata[pdu->size], len, &i))
sdata             223 net/9p/protocol.c 					*data = &pdu->sdata[pdu->offset];
sdata             552 net/9p/protocol.c 	fake_pdu.sdata = buf;
sdata             603 net/9p/protocol.c 	fake_pdu.sdata = buf;
sdata             288 net/9p/trans_fd.c 	if (!m->rc.sdata) {
sdata             289 net/9p/trans_fd.c 		m->rc.sdata = m->tmp_buf;
sdata             298 net/9p/trans_fd.c 	err = p9_fd_read(m->client, m->rc.sdata + m->rc.offset,
sdata             342 net/9p/trans_fd.c 		if (!m->rreq->rc.sdata) {
sdata             350 net/9p/trans_fd.c 		m->rc.sdata = m->rreq->rc.sdata;
sdata             351 net/9p/trans_fd.c 		memcpy(m->rc.sdata, m->tmp_buf, m->rc.capacity);
sdata             374 net/9p/trans_fd.c 		m->rc.sdata = NULL;
sdata             464 net/9p/trans_fd.c 		m->wbuf = req->tc.sdata;
sdata             318 net/9p/trans_rdma.c 	if (unlikely(req->rc.sdata)) {
sdata             324 net/9p/trans_rdma.c 	req->rc.sdata = c->rc.sdata;
sdata             390 net/9p/trans_rdma.c 				    c->rc.sdata, client->msize,
sdata             434 net/9p/trans_rdma.c 			req->rc.sdata = NULL;
sdata             448 net/9p/trans_rdma.c 	rpl_context->rc.sdata = req->rc.sdata;
sdata             468 net/9p/trans_rdma.c 	req->rc.sdata = NULL;
sdata             480 net/9p/trans_rdma.c 				    c->req->tc.sdata, c->req->tc.size,
sdata             268 net/9p/trans_virtio.c 			   VIRTQUEUE_NUM, req->tc.sdata, req->tc.size);
sdata             273 net/9p/trans_virtio.c 			  VIRTQUEUE_NUM, req->rc.sdata, req->rc.capacity);
sdata             414 net/9p/trans_virtio.c 			memcpy(&req->tc.sdata[req->tc.size - 4], &v, 4);
sdata             422 net/9p/trans_virtio.c 		memcpy(&req->tc.sdata[0], &sz, sizeof(sz));
sdata             433 net/9p/trans_virtio.c 			memcpy(&req->tc.sdata[req->tc.size - 4], &v, 4);
sdata             445 net/9p/trans_virtio.c 			   VIRTQUEUE_NUM, req->tc.sdata, req->tc.size);
sdata             464 net/9p/trans_virtio.c 			  VIRTQUEUE_NUM, req->rc.sdata, in_hdr_len);
sdata             179 net/9p/trans_xen.c 	xen_9pfs_write_packet(ring->data.out, p9_req->tc.sdata, size,
sdata             238 net/9p/trans_xen.c 		xen_9pfs_read_packet(req->rc.sdata, ring->data.in, h.size,
sdata             183 net/bluetooth/hidp/core.c 	signed char *sdata = skb->data + 1;
sdata             216 net/bluetooth/hidp/core.c 		input_report_key(dev, BTN_LEFT,   sdata[0] & 0x01);
sdata             217 net/bluetooth/hidp/core.c 		input_report_key(dev, BTN_RIGHT,  sdata[0] & 0x02);
sdata             218 net/bluetooth/hidp/core.c 		input_report_key(dev, BTN_MIDDLE, sdata[0] & 0x04);
sdata             219 net/bluetooth/hidp/core.c 		input_report_key(dev, BTN_SIDE,   sdata[0] & 0x08);
sdata             220 net/bluetooth/hidp/core.c 		input_report_key(dev, BTN_EXTRA,  sdata[0] & 0x10);
sdata             222 net/bluetooth/hidp/core.c 		input_report_rel(dev, REL_X, sdata[1]);
sdata             223 net/bluetooth/hidp/core.c 		input_report_rel(dev, REL_Y, sdata[2]);
sdata             226 net/bluetooth/hidp/core.c 			input_report_rel(dev, REL_WHEEL, sdata[3]);
sdata              76 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data sdata ____cacheline_aligned;
sdata              79 net/core/bpf_sk_storage.c #define SELEM(_SDATA) container_of((_SDATA), struct bpf_sk_storage_elem, sdata)
sdata              80 net/core/bpf_sk_storage.c #define SDATA(_SELEM) (&(_SELEM)->sdata)
sdata             265 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data *sdata;
sdata             269 net/core/bpf_sk_storage.c 	sdata = rcu_dereference(sk_storage->cache[smap->cache_idx]);
sdata             270 net/core/bpf_sk_storage.c 	if (sdata && rcu_access_pointer(sdata->smap) == smap)
sdata             271 net/core/bpf_sk_storage.c 		return sdata;
sdata             281 net/core/bpf_sk_storage.c 	sdata = SDATA(selem);
sdata             291 net/core/bpf_sk_storage.c 					   sdata);
sdata             295 net/core/bpf_sk_storage.c 	return sdata;
sdata             503 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data *sdata;
sdata             505 net/core/bpf_sk_storage.c 	sdata = sk_storage_lookup(sk, map, false);
sdata             506 net/core/bpf_sk_storage.c 	if (!sdata)
sdata             509 net/core/bpf_sk_storage.c 	selem_unlink(SELEM(sdata));
sdata             703 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data *sdata;
sdata             710 net/core/bpf_sk_storage.c 		sdata = sk_storage_lookup(sock->sk, map, true);
sdata             712 net/core/bpf_sk_storage.c 		return sdata ? sdata->data : NULL;
sdata             721 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data *sdata;
sdata             728 net/core/bpf_sk_storage.c 		sdata = sk_storage_update(sock->sk, map, value, map_flags);
sdata             730 net/core/bpf_sk_storage.c 		return PTR_ERR_OR_ZERO(sdata);
sdata             844 net/core/bpf_sk_storage.c 	struct bpf_sk_storage_data *sdata;
sdata             849 net/core/bpf_sk_storage.c 	sdata = sk_storage_lookup(sk, map, true);
sdata             850 net/core/bpf_sk_storage.c 	if (sdata)
sdata             851 net/core/bpf_sk_storage.c 		return (unsigned long)sdata->data;
sdata             860 net/core/bpf_sk_storage.c 		sdata = sk_storage_update(sk, map, value, BPF_NOEXIST);
sdata             865 net/core/bpf_sk_storage.c 		return IS_ERR(sdata) ?
sdata             866 net/core/bpf_sk_storage.c 			(unsigned long)NULL : (unsigned long)sdata->data;
sdata              86 net/ipv6/seg6.c 	struct seg6_pernet_data *sdata;
sdata              94 net/ipv6/seg6.c 	sdata = seg6_pernet(net);
sdata             111 net/ipv6/seg6.c 	mutex_lock(&sdata->lock);
sdata             152 net/ipv6/seg6.c 	mutex_unlock(&sdata->lock);
sdata             169 net/ipv6/seg6.c 	struct seg6_pernet_data *sdata;
sdata             171 net/ipv6/seg6.c 	sdata = seg6_pernet(net);
sdata             181 net/ipv6/seg6.c 	mutex_lock(&sdata->lock);
sdata             183 net/ipv6/seg6.c 	t_old = sdata->tun_src;
sdata             184 net/ipv6/seg6.c 	rcu_assign_pointer(sdata->tun_src, t_new);
sdata             186 net/ipv6/seg6.c 	mutex_unlock(&sdata->lock);
sdata             266 net/ipv6/seg6.c 	struct seg6_pernet_data *sdata;
sdata             269 net/ipv6/seg6.c 	sdata = seg6_pernet(net);
sdata             280 net/ipv6/seg6.c 	rhashtable_walk_enter(&sdata->hmac_infos, iter);
sdata             353 net/ipv6/seg6.c 	struct seg6_pernet_data *sdata;
sdata             355 net/ipv6/seg6.c 	sdata = kzalloc(sizeof(*sdata), GFP_KERNEL);
sdata             356 net/ipv6/seg6.c 	if (!sdata)
sdata             359 net/ipv6/seg6.c 	mutex_init(&sdata->lock);
sdata             361 net/ipv6/seg6.c 	sdata->tun_src = kzalloc(sizeof(*sdata->tun_src), GFP_KERNEL);
sdata             362 net/ipv6/seg6.c 	if (!sdata->tun_src) {
sdata             363 net/ipv6/seg6.c 		kfree(sdata);
sdata             367 net/ipv6/seg6.c 	net->ipv6.seg6_data = sdata;
sdata             378 net/ipv6/seg6.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             384 net/ipv6/seg6.c 	kfree(sdata->tun_src);
sdata             385 net/ipv6/seg6.c 	kfree(sdata);
sdata             284 net/ipv6/seg6_hmac.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             287 net/ipv6/seg6_hmac.c 	hinfo = rhashtable_lookup_fast(&sdata->hmac_infos, &key, rht_params);
sdata             295 net/ipv6/seg6_hmac.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             298 net/ipv6/seg6_hmac.c 	err = rhashtable_lookup_insert_fast(&sdata->hmac_infos, &hinfo->node,
sdata             307 net/ipv6/seg6_hmac.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             311 net/ipv6/seg6_hmac.c 	hinfo = rhashtable_lookup_fast(&sdata->hmac_infos, &key, rht_params);
sdata             315 net/ipv6/seg6_hmac.c 	err = rhashtable_remove_fast(&sdata->hmac_infos, &hinfo->node,
sdata             408 net/ipv6/seg6_hmac.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             410 net/ipv6/seg6_hmac.c 	rhashtable_init(&sdata->hmac_infos, &rht_params);
sdata             441 net/ipv6/seg6_hmac.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata             443 net/ipv6/seg6_hmac.c 	rhashtable_free_and_destroy(&sdata->hmac_infos, seg6_free_hi, NULL);
sdata              72 net/ipv6/seg6_iptunnel.c 	struct seg6_pernet_data *sdata = seg6_pernet(net);
sdata              77 net/ipv6/seg6_iptunnel.c 	tun_src = rcu_dereference(sdata->tun_src);
sdata              83 net/mac80211/agg-rx.c 	ht_dbg(sta->sdata,
sdata              89 net/mac80211/agg-rx.c 	if (drv_ampdu_action(local, sta->sdata, &params))
sdata              90 net/mac80211/agg-rx.c 		sdata_info(sta->sdata,
sdata              96 net/mac80211/agg-rx.c 		ieee80211_send_delba(sta->sdata, sta->sta.addr,
sdata             128 net/mac80211/agg-rx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             133 net/mac80211/agg-rx.c 	sta = sta_info_get_bss(sdata, addr);
sdata             165 net/mac80211/agg-rx.c 	ht_dbg(sta->sdata, "RX session timer expired on %pM tid %d\n",
sdata             181 net/mac80211/agg-rx.c static void ieee80211_add_addbaext(struct ieee80211_sub_if_data *sdata,
sdata             191 net/mac80211/agg-rx.c 	sband = ieee80211_get_sband(sdata);
sdata             194 net/mac80211/agg-rx.c 	he_cap = ieee80211_get_he_iftype_cap(sband, sdata->vif.type);
sdata             219 net/mac80211/agg-rx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             220 net/mac80211/agg-rx.c 	struct ieee80211_local *local = sdata->local;
sdata             235 net/mac80211/agg-rx.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             236 net/mac80211/agg-rx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             237 net/mac80211/agg-rx.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata             238 net/mac80211/agg-rx.c 	    sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
sdata             239 net/mac80211/agg-rx.c 		memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             240 net/mac80211/agg-rx.c 	else if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata             241 net/mac80211/agg-rx.c 		memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata             242 net/mac80211/agg-rx.c 	else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata             243 net/mac80211/agg-rx.c 		memcpy(mgmt->bssid, sdata->u.ibss.bssid, ETH_ALEN);
sdata             263 net/mac80211/agg-rx.c 		ieee80211_add_addbaext(sdata, skb, addbaext);
sdata             265 net/mac80211/agg-rx.c 	ieee80211_tx_skb(sdata, skb);
sdata             274 net/mac80211/agg-rx.c 	struct ieee80211_local *local = sta->sdata->local;
sdata             289 net/mac80211/agg-rx.c 		ht_dbg(sta->sdata,
sdata             296 net/mac80211/agg-rx.c 		ht_dbg(sta->sdata,
sdata             304 net/mac80211/agg-rx.c 		ht_dbg(sta->sdata,
sdata             323 net/mac80211/agg-rx.c 		ht_dbg_ratelimited(sta->sdata,
sdata             337 net/mac80211/agg-rx.c 	ht_dbg(sta->sdata, "AddBA Req buf_size=%d for %pM\n",
sdata             347 net/mac80211/agg-rx.c 			ht_dbg_ratelimited(sta->sdata,
sdata             365 net/mac80211/agg-rx.c 		ht_dbg_ratelimited(sta->sdata,
sdata             376 net/mac80211/agg-rx.c 		ret = drv_ampdu_action(local, sta->sdata, &params);
sdata             377 net/mac80211/agg-rx.c 		ht_dbg(sta->sdata,
sdata             415 net/mac80211/agg-rx.c 	ret = drv_ampdu_action(local, sta->sdata, &params);
sdata             416 net/mac80211/agg-rx.c 	ht_dbg(sta->sdata, "Rx A-MPDU request on %pM tid %d result %d\n",
sdata             512 net/mac80211/agg-rx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             513 net/mac80211/agg-rx.c 	struct ieee80211_local *local = sdata->local;
sdata             517 net/mac80211/agg-rx.c 	sta = sta_info_get_bss(sdata, addr);
sdata             531 net/mac80211/agg-rx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             532 net/mac80211/agg-rx.c 	struct ieee80211_local *local = sdata->local;
sdata             536 net/mac80211/agg-rx.c 	sta = sta_info_get_bss(sdata, addr);
sdata              61 net/mac80211/agg-tx.c static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata,
sdata              66 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata              79 net/mac80211/agg-tx.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata              80 net/mac80211/agg-tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata              81 net/mac80211/agg-tx.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata              82 net/mac80211/agg-tx.c 	    sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
sdata              83 net/mac80211/agg-tx.c 		memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata              84 net/mac80211/agg-tx.c 	else if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata              85 net/mac80211/agg-tx.c 		memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata              86 net/mac80211/agg-tx.c 	else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata              87 net/mac80211/agg-tx.c 		memcpy(mgmt->bssid, sdata->u.ibss.bssid, ETH_ALEN);
sdata             109 net/mac80211/agg-tx.c 	ieee80211_tx_skb(sdata, skb);
sdata             114 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             115 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             129 net/mac80211/agg-tx.c 	memcpy(bar->ta, sdata->vif.addr, ETH_ALEN);
sdata             138 net/mac80211/agg-tx.c 	ieee80211_tx_skb_tid(sdata, skb, tid);
sdata             162 net/mac80211/agg-tx.c ieee80211_stop_queue_agg(struct ieee80211_sub_if_data *sdata, int tid)
sdata             164 net/mac80211/agg-tx.c 	int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)];
sdata             168 net/mac80211/agg-tx.c 	if (atomic_inc_return(&sdata->local->agg_queue_stop[queue]) == 1)
sdata             170 net/mac80211/agg-tx.c 			&sdata->local->hw, queue,
sdata             177 net/mac80211/agg-tx.c ieee80211_wake_queue_agg(struct ieee80211_sub_if_data *sdata, int tid)
sdata             179 net/mac80211/agg-tx.c 	int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)];
sdata             181 net/mac80211/agg-tx.c 	if (atomic_dec_return(&sdata->local->agg_queue_stop[queue]) == 0)
sdata             183 net/mac80211/agg-tx.c 			&sdata->local->hw, queue,
sdata             193 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata;
sdata             201 net/mac80211/agg-tx.c 	sdata = vif_to_sdata(txq->vif);
sdata             202 net/mac80211/agg-tx.c 	fq = &sdata->local->fq;
sdata             229 net/mac80211/agg-tx.c 	schedule_and_wake_txq(sta->sdata->local, txqi);
sdata             239 net/mac80211/agg-tx.c ieee80211_agg_splice_packets(struct ieee80211_sub_if_data *sdata,
sdata             242 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             243 net/mac80211/agg-tx.c 	int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)];
sdata             246 net/mac80211/agg-tx.c 	ieee80211_stop_queue_agg(sdata, tid);
sdata             263 net/mac80211/agg-tx.c ieee80211_agg_splice_finish(struct ieee80211_sub_if_data *sdata, u16 tid)
sdata             265 net/mac80211/agg-tx.c 	ieee80211_wake_queue_agg(sdata, tid);
sdata             287 net/mac80211/agg-tx.c 	ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid);
sdata             292 net/mac80211/agg-tx.c 	ieee80211_agg_splice_finish(sta->sdata, tid);
sdata             351 net/mac80211/agg-tx.c 		ret = drv_ampdu_action(local, sta->sdata, &params);
sdata             370 net/mac80211/agg-tx.c 	ht_dbg(sta->sdata, "Tx BA session stop requested for %pM tid %u\n",
sdata             403 net/mac80211/agg-tx.c 	ret = drv_ampdu_action(local, sta->sdata, &params);
sdata             439 net/mac80211/agg-tx.c 		ht_dbg(sta->sdata,
sdata             445 net/mac80211/agg-tx.c 	ht_dbg(sta->sdata, "addBA response timer expired on %pM tid %d\n",
sdata             455 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             487 net/mac80211/agg-tx.c 	ret = drv_ampdu_action(local, sdata, &params);
sdata             489 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             493 net/mac80211/agg-tx.c 		ieee80211_agg_splice_packets(sdata, tid_tx, tid);
sdata             495 net/mac80211/agg-tx.c 		ieee80211_agg_splice_finish(sdata, tid);
sdata             506 net/mac80211/agg-tx.c 	ht_dbg(sdata, "activated addBA response timer on %pM tid %d\n",
sdata             527 net/mac80211/agg-tx.c 	ieee80211_send_addba_request(sdata, sta->sta.addr, tid,
sdata             553 net/mac80211/agg-tx.c 	ht_dbg(sta->sdata, "tx session timer expired on %pM tid %d\n",
sdata             563 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             564 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             588 net/mac80211/agg-tx.c 	ht_dbg(sdata, "Open BA session requested for %pM tid %u\n",
sdata             591 net/mac80211/agg-tx.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata             592 net/mac80211/agg-tx.c 	    sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
sdata             593 net/mac80211/agg-tx.c 	    sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata             594 net/mac80211/agg-tx.c 	    sdata->vif.type != NL80211_IFTYPE_AP &&
sdata             595 net/mac80211/agg-tx.c 	    sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata             599 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             617 net/mac80211/agg-tx.c 	if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC &&
sdata             619 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             641 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             651 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             716 net/mac80211/agg-tx.c 	ht_dbg(sta->sdata, "Aggregation is on for %pM tid %d\n",
sdata             719 net/mac80211/agg-tx.c 	drv_ampdu_action(local, sta->sdata, &params);
sdata             727 net/mac80211/agg-tx.c 	ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid);
sdata             734 net/mac80211/agg-tx.c 	ieee80211_agg_splice_finish(sta->sdata, tid);
sdata             744 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             745 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             755 net/mac80211/agg-tx.c ieee80211_lookup_tid_tx(struct ieee80211_sub_if_data *sdata,
sdata             761 net/mac80211/agg-tx.c 		ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n",
sdata             766 net/mac80211/agg-tx.c 	*sta = sta_info_get_bss(sdata, ra);
sdata             768 net/mac80211/agg-tx.c 		ht_dbg(sdata, "Could not find station: %pM\n", ra);
sdata             775 net/mac80211/agg-tx.c 		ht_dbg(sdata, "addBA was not requested!\n");
sdata             783 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             784 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             788 net/mac80211/agg-tx.c 	trace_api_start_tx_ba_cb(sdata, ra, tid);
sdata             791 net/mac80211/agg-tx.c 	tid_tx = ieee80211_lookup_tid_tx(sdata, ra, tid, &sta);
sdata             819 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             820 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             861 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             864 net/mac80211/agg-tx.c 	ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n",
sdata             870 net/mac80211/agg-tx.c 		ht_dbg(sdata,
sdata             885 net/mac80211/agg-tx.c 		ieee80211_send_delba(sdata, sta->sta.addr, tid,
sdata             892 net/mac80211/agg-tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             893 net/mac80211/agg-tx.c 	struct ieee80211_local *local = sdata->local;
sdata             897 net/mac80211/agg-tx.c 	trace_api_stop_tx_ba_cb(sdata, ra, tid);
sdata             900 net/mac80211/agg-tx.c 	tid_tx = ieee80211_lookup_tid_tx(sdata, ra, tid, &sta);
sdata             939 net/mac80211/agg-tx.c 		ht_dbg(sta->sdata, "wrong addBA response token, %pM tid %d\n",
sdata             946 net/mac80211/agg-tx.c 	ht_dbg(sta->sdata, "switched off addBA timer for %pM tid %d\n",
sdata             956 net/mac80211/agg-tx.c 		ht_dbg(sta->sdata,
sdata              27 net/mac80211/cfg.c static void ieee80211_set_mu_mimo_follow(struct ieee80211_sub_if_data *sdata,
sdata              38 net/mac80211/cfg.c 		memcpy(sdata->vif.bss_conf.mu_group.membership,
sdata              40 net/mac80211/cfg.c 		memcpy(sdata->vif.bss_conf.mu_group.position,
sdata              43 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_MU_GROUPS);
sdata              53 net/mac80211/cfg.c 		ether_addr_copy(sdata->u.mntr.mu_follow_addr,
sdata              57 net/mac80211/cfg.c 	sdata->vif.mu_mimo_owner = mu_mimo_groups || mu_mimo_follow;
sdata              60 net/mac80211/cfg.c static int ieee80211_set_mon_options(struct ieee80211_sub_if_data *sdata,
sdata              63 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata              67 net/mac80211/cfg.c 	if (params->flags && ieee80211_sdata_running(sdata)) {
sdata              79 net/mac80211/cfg.c 		if ((params->flags & mask) != (sdata->u.mntr.flags & mask))
sdata              96 net/mac80211/cfg.c 		if (ieee80211_sdata_running(sdata)) {
sdata              97 net/mac80211/cfg.c 			ieee80211_adjust_monitor_flags(sdata, -1);
sdata              98 net/mac80211/cfg.c 			sdata->u.mntr.flags = params->flags;
sdata              99 net/mac80211/cfg.c 			ieee80211_adjust_monitor_flags(sdata, 1);
sdata             108 net/mac80211/cfg.c 			sdata->u.mntr.flags = params->flags;
sdata             123 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata             130 net/mac80211/cfg.c 	sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             133 net/mac80211/cfg.c 		err = ieee80211_set_mon_options(sdata, params);
sdata             135 net/mac80211/cfg.c 			ieee80211_if_remove(sdata);
sdata             155 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             158 net/mac80211/cfg.c 	ret = ieee80211_if_change_type(sdata, type);
sdata             163 net/mac80211/cfg.c 		RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
sdata             164 net/mac80211/cfg.c 		ieee80211_check_fast_rx_iface(sdata);
sdata             166 net/mac80211/cfg.c 		sdata->u.mgd.use_4addr = params->use_4addr;
sdata             169 net/mac80211/cfg.c 	if (sdata->vif.type == NL80211_IFTYPE_MONITOR) {
sdata             170 net/mac80211/cfg.c 		ret = ieee80211_set_mon_options(sdata, params);
sdata             181 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             184 net/mac80211/cfg.c 	mutex_lock(&sdata->local->chanctx_mtx);
sdata             185 net/mac80211/cfg.c 	ret = ieee80211_check_combinations(sdata, NULL, 0, 0);
sdata             186 net/mac80211/cfg.c 	mutex_unlock(&sdata->local->chanctx_mtx);
sdata             203 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             206 net/mac80211/cfg.c 	mutex_lock(&sdata->local->chanctx_mtx);
sdata             207 net/mac80211/cfg.c 	ret = ieee80211_check_combinations(sdata, NULL, 0, 0);
sdata             208 net/mac80211/cfg.c 	mutex_unlock(&sdata->local->chanctx_mtx);
sdata             216 net/mac80211/cfg.c 	ret = drv_start_nan(sdata->local, sdata, conf);
sdata             218 net/mac80211/cfg.c 		ieee80211_sdata_stop(sdata);
sdata             220 net/mac80211/cfg.c 	sdata->u.nan.conf = *conf;
sdata             228 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             230 net/mac80211/cfg.c 	drv_stop_nan(sdata->local, sdata);
sdata             231 net/mac80211/cfg.c 	ieee80211_sdata_stop(sdata);
sdata             239 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             243 net/mac80211/cfg.c 	if (sdata->vif.type != NL80211_IFTYPE_NAN)
sdata             246 net/mac80211/cfg.c 	if (!ieee80211_sdata_running(sdata))
sdata             249 net/mac80211/cfg.c 	new_conf = sdata->u.nan.conf;
sdata             257 net/mac80211/cfg.c 	ret = drv_nan_change_conf(sdata->local, sdata, &new_conf, changes);
sdata             259 net/mac80211/cfg.c 		sdata->u.nan.conf = new_conf;
sdata             268 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             271 net/mac80211/cfg.c 	if (sdata->vif.type != NL80211_IFTYPE_NAN)
sdata             274 net/mac80211/cfg.c 	if (!ieee80211_sdata_running(sdata))
sdata             277 net/mac80211/cfg.c 	spin_lock_bh(&sdata->u.nan.func_lock);
sdata             279 net/mac80211/cfg.c 	ret = idr_alloc(&sdata->u.nan.function_inst_ids,
sdata             280 net/mac80211/cfg.c 			nan_func, 1, sdata->local->hw.max_nan_de_entries + 1,
sdata             282 net/mac80211/cfg.c 	spin_unlock_bh(&sdata->u.nan.func_lock);
sdata             291 net/mac80211/cfg.c 	ret = drv_add_nan_func(sdata->local, sdata, nan_func);
sdata             293 net/mac80211/cfg.c 		spin_lock_bh(&sdata->u.nan.func_lock);
sdata             294 net/mac80211/cfg.c 		idr_remove(&sdata->u.nan.function_inst_ids,
sdata             296 net/mac80211/cfg.c 		spin_unlock_bh(&sdata->u.nan.func_lock);
sdata             303 net/mac80211/cfg.c ieee80211_find_nan_func_by_cookie(struct ieee80211_sub_if_data *sdata,
sdata             309 net/mac80211/cfg.c 	lockdep_assert_held(&sdata->u.nan.func_lock);
sdata             311 net/mac80211/cfg.c 	idr_for_each_entry(&sdata->u.nan.function_inst_ids, func, id) {
sdata             322 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             326 net/mac80211/cfg.c 	if (sdata->vif.type != NL80211_IFTYPE_NAN ||
sdata             327 net/mac80211/cfg.c 	    !ieee80211_sdata_running(sdata))
sdata             330 net/mac80211/cfg.c 	spin_lock_bh(&sdata->u.nan.func_lock);
sdata             332 net/mac80211/cfg.c 	func = ieee80211_find_nan_func_by_cookie(sdata, cookie);
sdata             336 net/mac80211/cfg.c 	spin_unlock_bh(&sdata->u.nan.func_lock);
sdata             339 net/mac80211/cfg.c 		drv_del_nan_func(sdata->local, sdata, instance_id);
sdata             346 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             348 net/mac80211/cfg.c 	sdata->noack_map = noack_map;
sdata             350 net/mac80211/cfg.c 	ieee80211_check_fast_xmit_iface(sdata);
sdata             355 net/mac80211/cfg.c static int ieee80211_set_tx(struct ieee80211_sub_if_data *sdata,
sdata             358 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             367 net/mac80211/cfg.c 	sta = sta_info_get_bss(sdata, mac_addr);
sdata             389 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             390 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             396 net/mac80211/cfg.c 	if (!ieee80211_sdata_running(sdata))
sdata             400 net/mac80211/cfg.c 		return ieee80211_set_tx(sdata, mac_addr, key_idx);
sdata             419 net/mac80211/cfg.c 		cs = ieee80211_cs_get(local, params->cipher, sdata->vif.type);
sdata             438 net/mac80211/cfg.c 		sta = sta_info_get_bss(sdata, mac_addr);
sdata             456 net/mac80211/cfg.c 	switch (sdata->vif.type) {
sdata             458 net/mac80211/cfg.c 		if (sdata->u.mgd.mfp != IEEE80211_MFP_DISABLED)
sdata             472 net/mac80211/cfg.c 		if (sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE)
sdata             493 net/mac80211/cfg.c 	err = ieee80211_key_link(key, sdata, sta);
sdata             504 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             505 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             516 net/mac80211/cfg.c 		sta = sta_info_get_bss(sdata, mac_addr);
sdata             525 net/mac80211/cfg.c 		key = key_mtx_dereference(local, sdata->keys[key_idx]);
sdata             532 net/mac80211/cfg.c 	ieee80211_key_free(key, sdata->vif.type == NL80211_IFTYPE_STATION);
sdata             548 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata             559 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             564 net/mac80211/cfg.c 		sta = sta_info_get_bss(sdata, mac_addr);
sdata             574 net/mac80211/cfg.c 		key = rcu_dereference(sdata->keys[key_idx]);
sdata             591 net/mac80211/cfg.c 			drv_get_key_seq(sdata->local, key, &kseq);
sdata             624 net/mac80211/cfg.c 			drv_get_key_seq(sdata->local, key, &kseq);
sdata             643 net/mac80211/cfg.c 		drv_get_key_seq(sdata->local, key, &kseq);
sdata             665 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             667 net/mac80211/cfg.c 	ieee80211_set_default_key(sdata, key_idx, uni, multi);
sdata             676 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             678 net/mac80211/cfg.c 	ieee80211_set_default_mgmt_key(sdata, key_idx);
sdata             697 net/mac80211/cfg.c 		int shift = ieee80211_vif_get_shift(&sta->sdata->vif);
sdata             700 net/mac80211/cfg.c 		sband = ieee80211_get_sband(sta->sdata);
sdata             721 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             722 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             728 net/mac80211/cfg.c 	sta = sta_info_get_by_idx(sdata, idx);
sdata             751 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             752 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             758 net/mac80211/cfg.c 	sta = sta_info_get_bss(sdata, mac);
sdata             773 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata             781 net/mac80211/cfg.c 		sdata = rtnl_dereference(local->monitor_sdata);
sdata             782 net/mac80211/cfg.c 		if (sdata) {
sdata             783 net/mac80211/cfg.c 			ieee80211_vif_release_channel(sdata);
sdata             784 net/mac80211/cfg.c 			ret = ieee80211_vif_use_channel(sdata, chandef,
sdata             799 net/mac80211/cfg.c static int ieee80211_set_probe_resp(struct ieee80211_sub_if_data *sdata,
sdata             808 net/mac80211/cfg.c 	old = sdata_dereference(sdata->u.ap.probe_resp, sdata);
sdata             822 net/mac80211/cfg.c 	rcu_assign_pointer(sdata->u.ap.probe_resp, new);
sdata             830 net/mac80211/cfg.c 				struct ieee80211_sub_if_data *sdata,
sdata             842 net/mac80211/cfg.c 	bss_conf = &sdata->vif.bss_conf;
sdata             871 net/mac80211/cfg.c static int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata,
sdata             880 net/mac80211/cfg.c 	old = sdata_dereference(sdata->u.ap.beacon, sdata);
sdata             937 net/mac80211/cfg.c 	err = ieee80211_set_probe_resp(sdata, params->probe_resp,
sdata             947 net/mac80211/cfg.c 		sdata->vif.bss_conf.ftm_responder = params->ftm_responder;
sdata             948 net/mac80211/cfg.c 		err = ieee80211_set_ftm_responder_params(sdata,
sdata             962 net/mac80211/cfg.c 	rcu_assign_pointer(sdata->u.ap.beacon, new);
sdata             973 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             974 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata             988 net/mac80211/cfg.c 	old = sdata_dereference(sdata->u.ap.beacon, sdata);
sdata             994 net/mac80211/cfg.c 		sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata             997 net/mac80211/cfg.c 		sdata->smps_mode = IEEE80211_SMPS_STATIC;
sdata            1000 net/mac80211/cfg.c 		sdata->smps_mode = IEEE80211_SMPS_DYNAMIC;
sdata            1005 net/mac80211/cfg.c 	sdata->u.ap.req_smps = sdata->smps_mode;
sdata            1007 net/mac80211/cfg.c 	sdata->needed_rx_chains = sdata->local->rx_chains;
sdata            1009 net/mac80211/cfg.c 	prev_beacon_int = sdata->vif.bss_conf.beacon_int;
sdata            1010 net/mac80211/cfg.c 	sdata->vif.bss_conf.beacon_int = params->beacon_interval;
sdata            1013 net/mac80211/cfg.c 		sdata->vif.bss_conf.he_support = true;
sdata            1016 net/mac80211/cfg.c 	err = ieee80211_vif_use_channel(sdata, &params->chandef,
sdata            1019 net/mac80211/cfg.c 		ieee80211_vif_copy_chanctx_to_vlans(sdata, false);
sdata            1022 net/mac80211/cfg.c 		sdata->vif.bss_conf.beacon_int = prev_beacon_int;
sdata            1030 net/mac80211/cfg.c 	sdata->control_port_protocol = params->crypto.control_port_ethertype;
sdata            1031 net/mac80211/cfg.c 	sdata->control_port_no_encrypt = params->crypto.control_port_no_encrypt;
sdata            1032 net/mac80211/cfg.c 	sdata->control_port_over_nl80211 =
sdata            1034 net/mac80211/cfg.c 	sdata->encrypt_headroom = ieee80211_cs_headroom(sdata->local,
sdata            1036 net/mac80211/cfg.c 							sdata->vif.type);
sdata            1038 net/mac80211/cfg.c 	list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) {
sdata            1046 net/mac80211/cfg.c 			ieee80211_cs_headroom(sdata->local,
sdata            1051 net/mac80211/cfg.c 	sdata->vif.bss_conf.dtim_period = params->dtim_period;
sdata            1052 net/mac80211/cfg.c 	sdata->vif.bss_conf.enable_beacon = true;
sdata            1053 net/mac80211/cfg.c 	sdata->vif.bss_conf.allow_p2p_go_ps = sdata->vif.p2p;
sdata            1054 net/mac80211/cfg.c 	sdata->vif.bss_conf.twt_responder = params->twt_responder;
sdata            1055 net/mac80211/cfg.c 	memcpy(&sdata->vif.bss_conf.he_obss_pd, &params->he_obss_pd,
sdata            1058 net/mac80211/cfg.c 	sdata->vif.bss_conf.ssid_len = params->ssid_len;
sdata            1060 net/mac80211/cfg.c 		memcpy(sdata->vif.bss_conf.ssid, params->ssid,
sdata            1062 net/mac80211/cfg.c 	sdata->vif.bss_conf.hidden_ssid =
sdata            1065 net/mac80211/cfg.c 	memset(&sdata->vif.bss_conf.p2p_noa_attr, 0,
sdata            1066 net/mac80211/cfg.c 	       sizeof(sdata->vif.bss_conf.p2p_noa_attr));
sdata            1067 net/mac80211/cfg.c 	sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow =
sdata            1070 net/mac80211/cfg.c 		sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |=
sdata            1073 net/mac80211/cfg.c 	err = ieee80211_assign_beacon(sdata, &params->beacon, NULL);
sdata            1075 net/mac80211/cfg.c 		ieee80211_vif_release_channel(sdata);
sdata            1080 net/mac80211/cfg.c 	err = drv_start_ap(sdata->local, sdata);
sdata            1082 net/mac80211/cfg.c 		old = sdata_dereference(sdata->u.ap.beacon, sdata);
sdata            1086 net/mac80211/cfg.c 		RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
sdata            1087 net/mac80211/cfg.c 		ieee80211_vif_release_channel(sdata);
sdata            1091 net/mac80211/cfg.c 	ieee80211_recalc_dtim(local, sdata);
sdata            1092 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            1095 net/mac80211/cfg.c 	list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata            1104 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1108 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1109 net/mac80211/cfg.c 	sdata_assert_lock(sdata);
sdata            1114 net/mac80211/cfg.c 	if (sdata->vif.csa_active)
sdata            1117 net/mac80211/cfg.c 	old = sdata_dereference(sdata->u.ap.beacon, sdata);
sdata            1121 net/mac80211/cfg.c 	err = ieee80211_assign_beacon(sdata, params, NULL);
sdata            1124 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, err);
sdata            1130 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1132 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            1137 net/mac80211/cfg.c 	sdata_assert_lock(sdata);
sdata            1139 net/mac80211/cfg.c 	old_beacon = sdata_dereference(sdata->u.ap.beacon, sdata);
sdata            1142 net/mac80211/cfg.c 	old_probe_resp = sdata_dereference(sdata->u.ap.probe_resp, sdata);
sdata            1146 net/mac80211/cfg.c 	sdata->vif.csa_active = false;
sdata            1147 net/mac80211/cfg.c 	if (sdata->csa_block_tx) {
sdata            1148 net/mac80211/cfg.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            1150 net/mac80211/cfg.c 		sdata->csa_block_tx = false;
sdata            1155 net/mac80211/cfg.c 	kfree(sdata->u.ap.next_beacon);
sdata            1156 net/mac80211/cfg.c 	sdata->u.ap.next_beacon = NULL;
sdata            1159 net/mac80211/cfg.c 	list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata            1164 net/mac80211/cfg.c 	RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
sdata            1165 net/mac80211/cfg.c 	RCU_INIT_POINTER(sdata->u.ap.probe_resp, NULL);
sdata            1169 net/mac80211/cfg.c 	sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF;
sdata            1171 net/mac80211/cfg.c 	kfree(sdata->vif.bss_conf.ftmr_params);
sdata            1172 net/mac80211/cfg.c 	sdata->vif.bss_conf.ftmr_params = NULL;
sdata            1174 net/mac80211/cfg.c 	__sta_info_flush(sdata, true);
sdata            1175 net/mac80211/cfg.c 	ieee80211_free_keys(sdata, true);
sdata            1177 net/mac80211/cfg.c 	sdata->vif.bss_conf.enable_beacon = false;
sdata            1178 net/mac80211/cfg.c 	sdata->vif.bss_conf.ssid_len = 0;
sdata            1179 net/mac80211/cfg.c 	clear_bit(SDATA_STATE_OFFCHANNEL_BEACON_STOPPED, &sdata->state);
sdata            1180 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED);
sdata            1182 net/mac80211/cfg.c 	if (sdata->wdev.cac_started) {
sdata            1183 net/mac80211/cfg.c 		chandef = sdata->vif.bss_conf.chandef;
sdata            1184 net/mac80211/cfg.c 		cancel_delayed_work_sync(&sdata->dfs_cac_timer_work);
sdata            1185 net/mac80211/cfg.c 		cfg80211_cac_event(sdata->dev, &chandef,
sdata            1190 net/mac80211/cfg.c 	drv_stop_ap(sdata->local, sdata);
sdata            1193 net/mac80211/cfg.c 	local->total_ps_buffered -= skb_queue_len(&sdata->u.ap.ps.bc_buf);
sdata            1194 net/mac80211/cfg.c 	ieee80211_purge_tx_queue(&local->hw, &sdata->u.ap.ps.bc_buf);
sdata            1197 net/mac80211/cfg.c 	ieee80211_vif_copy_chanctx_to_vlans(sdata, true);
sdata            1198 net/mac80211/cfg.c 	ieee80211_vif_release_channel(sdata);
sdata            1269 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1276 net/mac80211/cfg.c 				changed = mesh_plink_inc_estab_count(sdata);
sdata            1282 net/mac80211/cfg.c 				      sdata->u.mesh.mshcfg.power_mode);
sdata            1296 net/mac80211/cfg.c 				changed = mesh_plink_dec_estab_count(sdata);
sdata            1325 net/mac80211/cfg.c 	ieee80211_mbss_info_change_notify(sdata, changed);
sdata            1335 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1338 net/mac80211/cfg.c 	sband = ieee80211_get_sband(sdata);
sdata            1345 net/mac80211/cfg.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            1406 net/mac80211/cfg.c 	    !sdata->u.mgd.tdls_chan_switch_prohibited &&
sdata            1412 net/mac80211/cfg.c 	    !sdata->u.mgd.tdls_wider_bw_prohibited &&
sdata            1473 net/mac80211/cfg.c 		ret = drv_sta_set_txpwr(local, sdata, sta);
sdata            1479 net/mac80211/cfg.c 		ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef,
sdata            1486 net/mac80211/cfg.c 		ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
sdata            1491 net/mac80211/cfg.c 		ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
sdata            1495 net/mac80211/cfg.c 		ieee80211_he_cap_ie_to_sta_he_cap(sdata, sband,
sdata            1503 net/mac80211/cfg.c 		__ieee80211_vht_handle_opmode(sdata, sta, params->opmode_notif,
sdata            1510 net/mac80211/cfg.c 	if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            1533 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1537 net/mac80211/cfg.c 		sdata = IEEE80211_DEV_TO_SUB_IF(params->vlan);
sdata            1539 net/mac80211/cfg.c 		if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            1540 net/mac80211/cfg.c 		    sdata->vif.type != NL80211_IFTYPE_AP)
sdata            1543 net/mac80211/cfg.c 		sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1545 net/mac80211/cfg.c 	if (ether_addr_equal(mac, sdata->vif.addr))
sdata            1552 net/mac80211/cfg.c 	    sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            1553 net/mac80211/cfg.c 	    !sdata->u.mgd.associated)
sdata            1556 net/mac80211/cfg.c 	sta = sta_info_alloc(sdata, mac, GFP_KERNEL);
sdata            1592 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1594 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1597 net/mac80211/cfg.c 		return sta_info_destroy_addr_bss(sdata, params->mac);
sdata            1599 net/mac80211/cfg.c 	sta_info_flush(sdata);
sdata            1607 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1616 net/mac80211/cfg.c 	sta = sta_info_get_bss(sdata, mac);
sdata            1622 net/mac80211/cfg.c 	switch (sdata->vif.type) {
sdata            1624 net/mac80211/cfg.c 		if (sdata->u.mesh.user_mpm)
sdata            1658 net/mac80211/cfg.c 	if (params->vlan && params->vlan != sta->sdata->dev) {
sdata            1671 net/mac80211/cfg.c 		if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
sdata            1672 net/mac80211/cfg.c 		    sta->sdata->u.vlan.sta)
sdata            1673 net/mac80211/cfg.c 			RCU_INIT_POINTER(sta->sdata->u.vlan.sta, NULL);
sdata            1676 net/mac80211/cfg.c 			ieee80211_vif_dec_num_mcast(sta->sdata);
sdata            1678 net/mac80211/cfg.c 		sta->sdata = vlansdata;
sdata            1682 net/mac80211/cfg.c 			ieee80211_vif_inc_num_mcast(sta->sdata);
sdata            1683 net/mac80211/cfg.c 			cfg80211_send_layer2_update(sta->sdata->dev,
sdata            1694 net/mac80211/cfg.c 	if ((sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            1695 net/mac80211/cfg.c 	     sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
sdata            1696 net/mac80211/cfg.c 	    sta->known_smps_mode != sta->sdata->bss->req_smps &&
sdata            1699 net/mac80211/cfg.c 		ht_dbg(sta->sdata,
sdata            1702 net/mac80211/cfg.c 		ieee80211_send_smps_action(sta->sdata,
sdata            1703 net/mac80211/cfg.c 			sta->sdata->bss->req_smps,
sdata            1705 net/mac80211/cfg.c 			sta->sdata->vif.bss_conf.bssid);
sdata            1708 net/mac80211/cfg.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            1711 net/mac80211/cfg.c 		ieee80211_recalc_ps_vif(sdata);
sdata            1724 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1728 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1731 net/mac80211/cfg.c 	sta = sta_info_get(sdata, next_hop);
sdata            1737 net/mac80211/cfg.c 	mpath = mesh_path_add(sdata, dst);
sdata            1752 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1755 net/mac80211/cfg.c 		return mesh_path_del(sdata, dst);
sdata            1757 net/mac80211/cfg.c 	mesh_path_flush_by_iface(sdata);
sdata            1764 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1768 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1772 net/mac80211/cfg.c 	sta = sta_info_get(sdata, next_hop);
sdata            1778 net/mac80211/cfg.c 	mpath = mesh_path_lookup(sdata, dst);
sdata            1802 net/mac80211/cfg.c 	pinfo->generation = mpath->sdata->u.mesh.mesh_paths_generation;
sdata            1840 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1843 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1846 net/mac80211/cfg.c 	mpath = mesh_path_lookup(sdata, dst);
sdata            1861 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1864 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1867 net/mac80211/cfg.c 	mpath = mesh_path_lookup_by_idx(sdata, idx);
sdata            1884 net/mac80211/cfg.c 	pinfo->generation = mpath->sdata->u.mesh.mpp_paths_generation;
sdata            1891 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1894 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1897 net/mac80211/cfg.c 	mpath = mpp_path_lookup(sdata, dst);
sdata            1912 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1915 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1918 net/mac80211/cfg.c 	mpath = mpp_path_lookup_by_idx(sdata, idx);
sdata            1933 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            1934 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1936 net/mac80211/cfg.c 	memcpy(conf, &(sdata->u.mesh.mshcfg), sizeof(struct mesh_config));
sdata            1950 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = container_of(ifmsh,
sdata            1983 net/mac80211/cfg.c 	memcpy(sdata->vif.bss_conf.mcast_rate, setup->mcast_rate,
sdata            1985 net/mac80211/cfg.c 	sdata->vif.bss_conf.basic_rates = setup->basic_rates;
sdata            1987 net/mac80211/cfg.c 	sdata->vif.bss_conf.beacon_int = setup->beacon_interval;
sdata            1988 net/mac80211/cfg.c 	sdata->vif.bss_conf.dtim_period = setup->dtim_period;
sdata            1998 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            2001 net/mac80211/cfg.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2002 net/mac80211/cfg.c 	ifmsh = &sdata->u.mesh;
sdata            2005 net/mac80211/cfg.c 	conf = &(sdata->u.mesh.mshcfg);
sdata            2073 net/mac80211/cfg.c 		if (!ieee80211_hw_check(&sdata->local->hw, SIGNAL_DBM))
sdata            2079 net/mac80211/cfg.c 		sdata->vif.bss_conf.ht_operation_mode = nconf->ht_opmode;
sdata            2080 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_HT);
sdata            2093 net/mac80211/cfg.c 		ieee80211_mps_local_status_update(sdata);
sdata            2103 net/mac80211/cfg.c 	ieee80211_mbss_info_change_notify(sdata, BSS_CHANGED_BEACON);
sdata            2111 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2112 net/mac80211/cfg.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            2120 net/mac80211/cfg.c 	sdata->control_port_over_nl80211 = setup->control_port_over_nl80211;
sdata            2123 net/mac80211/cfg.c 	sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata            2124 net/mac80211/cfg.c 	sdata->needed_rx_chains = sdata->local->rx_chains;
sdata            2126 net/mac80211/cfg.c 	mutex_lock(&sdata->local->mtx);
sdata            2127 net/mac80211/cfg.c 	err = ieee80211_vif_use_channel(sdata, &setup->chandef,
sdata            2129 net/mac80211/cfg.c 	mutex_unlock(&sdata->local->mtx);
sdata            2133 net/mac80211/cfg.c 	return ieee80211_start_mesh(sdata);
sdata            2138 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2140 net/mac80211/cfg.c 	ieee80211_stop_mesh(sdata);
sdata            2141 net/mac80211/cfg.c 	mutex_lock(&sdata->local->mtx);
sdata            2142 net/mac80211/cfg.c 	ieee80211_vif_release_channel(sdata);
sdata            2143 net/mac80211/cfg.c 	mutex_unlock(&sdata->local->mtx);
sdata            2153 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2157 net/mac80211/cfg.c 	if (!sdata_dereference(sdata->u.ap.beacon, sdata))
sdata            2160 net/mac80211/cfg.c 	sband = ieee80211_get_sband(sdata);
sdata            2165 net/mac80211/cfg.c 		sdata->vif.bss_conf.use_cts_prot = params->use_cts_prot;
sdata            2169 net/mac80211/cfg.c 		sdata->vif.bss_conf.use_short_preamble =
sdata            2174 net/mac80211/cfg.c 	if (!sdata->vif.bss_conf.use_short_slot &&
sdata            2176 net/mac80211/cfg.c 		sdata->vif.bss_conf.use_short_slot = true;
sdata            2181 net/mac80211/cfg.c 		sdata->vif.bss_conf.use_short_slot =
sdata            2187 net/mac80211/cfg.c 		ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef,
sdata            2191 net/mac80211/cfg.c 					 &sdata->vif.bss_conf.basic_rates);
sdata            2193 net/mac80211/cfg.c 		ieee80211_check_rate_mask(sdata);
sdata            2198 net/mac80211/cfg.c 			sdata->flags |= IEEE80211_SDATA_DONT_BRIDGE_PACKETS;
sdata            2200 net/mac80211/cfg.c 			sdata->flags &= ~IEEE80211_SDATA_DONT_BRIDGE_PACKETS;
sdata            2201 net/mac80211/cfg.c 		ieee80211_check_fast_rx_iface(sdata);
sdata            2205 net/mac80211/cfg.c 		sdata->vif.bss_conf.ht_operation_mode =
sdata            2211 net/mac80211/cfg.c 		sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &=
sdata            2213 net/mac80211/cfg.c 		sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |=
sdata            2219 net/mac80211/cfg.c 		sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow |=
sdata            2223 net/mac80211/cfg.c 		sdata->vif.bss_conf.p2p_noa_attr.oppps_ctwindow &=
sdata            2228 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            2238 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2259 net/mac80211/cfg.c 	ieee80211_regulatory_limit_wmm_params(sdata, &p, params->ac);
sdata            2261 net/mac80211/cfg.c 	sdata->tx_conf[params->ac] = p;
sdata            2262 net/mac80211/cfg.c 	if (drv_conf_tx(local, sdata, params->ac, &p)) {
sdata            2269 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_QOS);
sdata            2293 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            2295 net/mac80211/cfg.c 	sdata = IEEE80211_WDEV_TO_SUB_IF(req->wdev);
sdata            2297 net/mac80211/cfg.c 	switch (ieee80211_vif_type_p2p(&sdata->vif)) {
sdata            2305 net/mac80211/cfg.c 		if (sdata->local->ops->hw_scan)
sdata            2321 net/mac80211/cfg.c 		if (sdata->u.ap.beacon &&
sdata            2331 net/mac80211/cfg.c 	return ieee80211_request_scan(sdata, req);
sdata            2344 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2346 net/mac80211/cfg.c 	if (!sdata->local->ops->sched_scan_start)
sdata            2349 net/mac80211/cfg.c 	return ieee80211_request_sched_scan_start(sdata, req);
sdata            2413 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2415 net/mac80211/cfg.c 	memcpy(sdata->vif.bss_conf.mcast_rate, rate,
sdata            2418 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_MCAST_RATE);
sdata            2485 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            2491 net/mac80211/cfg.c 		sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            2493 net/mac80211/cfg.c 		if (sdata->vif.type == NL80211_IFTYPE_MONITOR) {
sdata            2494 net/mac80211/cfg.c 			sdata = rtnl_dereference(local->monitor_sdata);
sdata            2495 net/mac80211/cfg.c 			if (!sdata)
sdata            2501 net/mac80211/cfg.c 			sdata->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
sdata            2508 net/mac80211/cfg.c 			sdata->user_power_level = MBM_TO_DBM(mbm);
sdata            2512 net/mac80211/cfg.c 		if (txp_type != sdata->vif.bss_conf.txpower_type) {
sdata            2514 net/mac80211/cfg.c 			sdata->vif.bss_conf.txpower_type = txp_type;
sdata            2517 net/mac80211/cfg.c 		ieee80211_recalc_txpower(sdata, update_txp_type);
sdata            2536 net/mac80211/cfg.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2537 net/mac80211/cfg.c 		if (sdata->vif.type == NL80211_IFTYPE_MONITOR) {
sdata            2541 net/mac80211/cfg.c 		sdata->user_power_level = local->user_power_level;
sdata            2542 net/mac80211/cfg.c 		if (txp_type != sdata->vif.bss_conf.txpower_type)
sdata            2544 net/mac80211/cfg.c 		sdata->vif.bss_conf.txpower_type = txp_type;
sdata            2546 net/mac80211/cfg.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2547 net/mac80211/cfg.c 		if (sdata->vif.type == NL80211_IFTYPE_MONITOR)
sdata            2549 net/mac80211/cfg.c 		ieee80211_recalc_txpower(sdata, update_txp_type);
sdata            2554 net/mac80211/cfg.c 		sdata = rtnl_dereference(local->monitor_sdata);
sdata            2555 net/mac80211/cfg.c 		if (sdata) {
sdata            2556 net/mac80211/cfg.c 			sdata->user_power_level = local->user_power_level;
sdata            2557 net/mac80211/cfg.c 			if (txp_type != sdata->vif.bss_conf.txpower_type)
sdata            2559 net/mac80211/cfg.c 			sdata->vif.bss_conf.txpower_type = txp_type;
sdata            2561 net/mac80211/cfg.c 			ieee80211_recalc_txpower(sdata, update_txp_type);
sdata            2573 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            2576 net/mac80211/cfg.c 		return drv_get_txpower(local, sdata, dbm);
sdata            2581 net/mac80211/cfg.c 		*dbm = sdata->vif.bss_conf.txpower;
sdata            2589 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2591 net/mac80211/cfg.c 	memcpy(&sdata->u.wds.remote_addr, addr, ETH_ALEN);
sdata            2615 net/mac80211/cfg.c 		struct ieee80211_sub_if_data *sdata;
sdata            2617 net/mac80211/cfg.c 		sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            2618 net/mac80211/cfg.c 		if (sdata->flags & IEEE80211_SDATA_IN_DRIVER)
sdata            2619 net/mac80211/cfg.c 			vif = &sdata->vif;
sdata            2639 net/mac80211/cfg.c int __ieee80211_request_smps_ap(struct ieee80211_sub_if_data *sdata,
sdata            2645 net/mac80211/cfg.c 	if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP))
sdata            2648 net/mac80211/cfg.c 	if (sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT)
sdata            2651 net/mac80211/cfg.c 	old_req = sdata->u.ap.req_smps;
sdata            2652 net/mac80211/cfg.c 	sdata->u.ap.req_smps = smps_mode;
sdata            2659 net/mac80211/cfg.c 	ht_dbg(sdata,
sdata            2661 net/mac80211/cfg.c 	       smps_mode, atomic_read(&sdata->u.ap.num_mcast_sta));
sdata            2663 net/mac80211/cfg.c 	mutex_lock(&sdata->local->sta_mtx);
sdata            2664 net/mac80211/cfg.c 	list_for_each_entry(sta, &sdata->local->sta_list, list) {
sdata            2669 net/mac80211/cfg.c 		if (sta->sdata->bss != &sdata->u.ap)
sdata            2683 net/mac80211/cfg.c 			ht_dbg(sdata, "Won't send SMPS to sleeping STA %pM\n",
sdata            2695 net/mac80211/cfg.c 		ht_dbg(sdata, "Sending SMPS to %pM\n", sta->sta.addr);
sdata            2696 net/mac80211/cfg.c 		ieee80211_send_smps_action(sdata, smps_mode, sta->sta.addr,
sdata            2697 net/mac80211/cfg.c 					   sdata->vif.bss_conf.bssid);
sdata            2699 net/mac80211/cfg.c 	mutex_unlock(&sdata->local->sta_mtx);
sdata            2701 net/mac80211/cfg.c 	sdata->smps_mode = smps_mode;
sdata            2702 net/mac80211/cfg.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->recalc_smps);
sdata            2707 net/mac80211/cfg.c int __ieee80211_request_smps_mgd(struct ieee80211_sub_if_data *sdata,
sdata            2716 net/mac80211/cfg.c 	lockdep_assert_held(&sdata->wdev.mtx);
sdata            2718 net/mac80211/cfg.c 	if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION))
sdata            2721 net/mac80211/cfg.c 	old_req = sdata->u.mgd.req_smps;
sdata            2722 net/mac80211/cfg.c 	sdata->u.mgd.req_smps = smps_mode;
sdata            2733 net/mac80211/cfg.c 	if (!sdata->u.mgd.associated ||
sdata            2734 net/mac80211/cfg.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT)
sdata            2737 net/mac80211/cfg.c 	ap = sdata->u.mgd.associated->bssid;
sdata            2740 net/mac80211/cfg.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
sdata            2741 net/mac80211/cfg.c 		if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded ||
sdata            2751 net/mac80211/cfg.c 		if (tdls_peer_found || !sdata->u.mgd.powersave)
sdata            2758 net/mac80211/cfg.c 	err = ieee80211_send_smps_action(sdata, smps_mode,
sdata            2761 net/mac80211/cfg.c 		sdata->u.mgd.req_smps = old_req;
sdata            2763 net/mac80211/cfg.c 		ieee80211_teardown_tdls_peers(sdata);
sdata            2771 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2774 net/mac80211/cfg.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            2780 net/mac80211/cfg.c 	if (enabled == sdata->u.mgd.powersave &&
sdata            2784 net/mac80211/cfg.c 	sdata->u.mgd.powersave = enabled;
sdata            2788 net/mac80211/cfg.c 	sdata_lock(sdata);
sdata            2789 net/mac80211/cfg.c 	__ieee80211_request_smps_mgd(sdata, sdata->u.mgd.req_smps);
sdata            2790 net/mac80211/cfg.c 	sdata_unlock(sdata);
sdata            2796 net/mac80211/cfg.c 	ieee80211_recalc_ps_vif(sdata);
sdata            2797 net/mac80211/cfg.c 	ieee80211_check_fast_rx_iface(sdata);
sdata            2806 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2807 net/mac80211/cfg.c 	struct ieee80211_vif *vif = &sdata->vif;
sdata            2814 net/mac80211/cfg.c 	if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER &&
sdata            2815 net/mac80211/cfg.c 	    !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI))
sdata            2822 net/mac80211/cfg.c 	sdata->u.mgd.last_cqm_event_signal = 0;
sdata            2825 net/mac80211/cfg.c 	if (sdata->u.mgd.associated &&
sdata            2826 net/mac80211/cfg.c 	    sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)
sdata            2827 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_CQM);
sdata            2836 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2837 net/mac80211/cfg.c 	struct ieee80211_vif *vif = &sdata->vif;
sdata            2840 net/mac80211/cfg.c 	if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER)
sdata            2847 net/mac80211/cfg.c 	sdata->u.mgd.last_cqm_event_signal = 0;
sdata            2850 net/mac80211/cfg.c 	if (sdata->u.mgd.associated &&
sdata            2851 net/mac80211/cfg.c 	    sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)
sdata            2852 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_CQM);
sdata            2862 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2866 net/mac80211/cfg.c 	if (!ieee80211_sdata_running(sdata))
sdata            2875 net/mac80211/cfg.c 	if (rcu_access_pointer(sdata->vif.chanctx_conf) &&
sdata            2876 net/mac80211/cfg.c 	    sdata->vif.bss_conf.chandef.chan) {
sdata            2877 net/mac80211/cfg.c 		u32 basic_rates = sdata->vif.bss_conf.basic_rates;
sdata            2878 net/mac80211/cfg.c 		enum nl80211_band band = sdata->vif.bss_conf.chandef.chan->band;
sdata            2885 net/mac80211/cfg.c 		ret = drv_set_bitrate_mask(local, sdata, mask);
sdata            2894 net/mac80211/cfg.c 		sdata->rc_rateidx_mask[i] = mask->control[i].legacy;
sdata            2895 net/mac80211/cfg.c 		memcpy(sdata->rc_rateidx_mcs_mask[i], mask->control[i].ht_mcs,
sdata            2897 net/mac80211/cfg.c 		memcpy(sdata->rc_rateidx_vht_mcs_mask[i],
sdata            2901 net/mac80211/cfg.c 		sdata->rc_has_mcs_mask[i] = false;
sdata            2902 net/mac80211/cfg.c 		sdata->rc_has_vht_mcs_mask[i] = false;
sdata            2907 net/mac80211/cfg.c 			if (~sdata->rc_rateidx_mcs_mask[i][j]) {
sdata            2908 net/mac80211/cfg.c 				sdata->rc_has_mcs_mask[i] = true;
sdata            2914 net/mac80211/cfg.c 			if (~sdata->rc_rateidx_vht_mcs_mask[i][j]) {
sdata            2915 net/mac80211/cfg.c 				sdata->rc_has_vht_mcs_mask[i] = true;
sdata            2929 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2930 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            2940 net/mac80211/cfg.c 	sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata            2941 net/mac80211/cfg.c 	sdata->needed_rx_chains = local->rx_chains;
sdata            2943 net/mac80211/cfg.c 	err = ieee80211_vif_use_channel(sdata, chandef,
sdata            2948 net/mac80211/cfg.c 	ieee80211_queue_delayed_work(&sdata->local->hw,
sdata            2949 net/mac80211/cfg.c 				     &sdata->dfs_cac_timer_work,
sdata            2960 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2961 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            2964 net/mac80211/cfg.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2969 net/mac80211/cfg.c 		cancel_delayed_work(&sdata->dfs_cac_timer_work);
sdata            2971 net/mac80211/cfg.c 		if (sdata->wdev.cac_started) {
sdata            2972 net/mac80211/cfg.c 			ieee80211_vif_release_channel(sdata);
sdata            2973 net/mac80211/cfg.c 			sdata->wdev.cac_started = false;
sdata            3052 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            3054 net/mac80211/cfg.c 	ieee80211_queue_work(&sdata->local->hw,
sdata            3055 net/mac80211/cfg.c 			     &sdata->csa_finalize_work);
sdata            3059 net/mac80211/cfg.c static int ieee80211_set_after_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata            3064 net/mac80211/cfg.c 	switch (sdata->vif.type) {
sdata            3066 net/mac80211/cfg.c 		err = ieee80211_assign_beacon(sdata, sdata->u.ap.next_beacon,
sdata            3068 net/mac80211/cfg.c 		kfree(sdata->u.ap.next_beacon);
sdata            3069 net/mac80211/cfg.c 		sdata->u.ap.next_beacon = NULL;
sdata            3076 net/mac80211/cfg.c 		err = ieee80211_ibss_finish_csa(sdata);
sdata            3083 net/mac80211/cfg.c 		err = ieee80211_mesh_finish_csa(sdata);
sdata            3097 net/mac80211/cfg.c static int __ieee80211_csa_finalize(struct ieee80211_sub_if_data *sdata)
sdata            3099 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            3103 net/mac80211/cfg.c 	sdata_assert_lock(sdata);
sdata            3114 net/mac80211/cfg.c 	if (sdata->reserved_chanctx) {
sdata            3120 net/mac80211/cfg.c 		if (sdata->reserved_ready)
sdata            3123 net/mac80211/cfg.c 		return ieee80211_vif_use_reserved_context(sdata);
sdata            3126 net/mac80211/cfg.c 	if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef,
sdata            3127 net/mac80211/cfg.c 					&sdata->csa_chandef))
sdata            3130 net/mac80211/cfg.c 	sdata->vif.csa_active = false;
sdata            3132 net/mac80211/cfg.c 	err = ieee80211_set_after_csa_beacon(sdata, &changed);
sdata            3136 net/mac80211/cfg.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            3138 net/mac80211/cfg.c 	if (sdata->csa_block_tx) {
sdata            3139 net/mac80211/cfg.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            3141 net/mac80211/cfg.c 		sdata->csa_block_tx = false;
sdata            3144 net/mac80211/cfg.c 	err = drv_post_channel_switch(sdata);
sdata            3148 net/mac80211/cfg.c 	cfg80211_ch_switch_notify(sdata->dev, &sdata->csa_chandef);
sdata            3153 net/mac80211/cfg.c static void ieee80211_csa_finalize(struct ieee80211_sub_if_data *sdata)
sdata            3155 net/mac80211/cfg.c 	if (__ieee80211_csa_finalize(sdata)) {
sdata            3156 net/mac80211/cfg.c 		sdata_info(sdata, "failed to finalize CSA, disconnecting\n");
sdata            3157 net/mac80211/cfg.c 		cfg80211_stop_iface(sdata->local->hw.wiphy, &sdata->wdev,
sdata            3164 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata =
sdata            3167 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            3169 net/mac80211/cfg.c 	sdata_lock(sdata);
sdata            3174 net/mac80211/cfg.c 	if (!sdata->vif.csa_active)
sdata            3177 net/mac80211/cfg.c 	if (!ieee80211_sdata_running(sdata))
sdata            3180 net/mac80211/cfg.c 	ieee80211_csa_finalize(sdata);
sdata            3185 net/mac80211/cfg.c 	sdata_unlock(sdata);
sdata            3188 net/mac80211/cfg.c static int ieee80211_set_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata            3195 net/mac80211/cfg.c 	switch (sdata->vif.type) {
sdata            3197 net/mac80211/cfg.c 		sdata->u.ap.next_beacon =
sdata            3199 net/mac80211/cfg.c 		if (!sdata->u.ap.next_beacon)
sdata            3233 net/mac80211/cfg.c 		err = ieee80211_assign_beacon(sdata, &params->beacon_csa, &csa);
sdata            3235 net/mac80211/cfg.c 			kfree(sdata->u.ap.next_beacon);
sdata            3242 net/mac80211/cfg.c 		if (!sdata->vif.bss_conf.ibss_joined)
sdata            3245 net/mac80211/cfg.c 		if (params->chandef.width != sdata->u.ibss.chandef.width)
sdata            3251 net/mac80211/cfg.c 			    cfg80211_get_chandef_type(&sdata->u.ibss.chandef))
sdata            3263 net/mac80211/cfg.c 		if (sdata->u.ibss.chandef.chan->band !=
sdata            3269 net/mac80211/cfg.c 			err = ieee80211_ibss_csa_beacon(sdata, params);
sdata            3275 net/mac80211/cfg.c 		ieee80211_send_action_csa(sdata, params);
sdata            3280 net/mac80211/cfg.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            3282 net/mac80211/cfg.c 		if (params->chandef.width != sdata->vif.bss_conf.chandef.width)
sdata            3286 net/mac80211/cfg.c 		if (sdata->vif.bss_conf.chandef.chan->band !=
sdata            3300 net/mac80211/cfg.c 			err = ieee80211_mesh_csa_beacon(sdata, params);
sdata            3309 net/mac80211/cfg.c 			ieee80211_send_action_csa(sdata, params);
sdata            3325 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3326 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            3333 net/mac80211/cfg.c 	sdata_assert_lock(sdata);
sdata            3339 net/mac80211/cfg.c 	if (sdata->wdev.cac_started)
sdata            3343 net/mac80211/cfg.c 				       &sdata->vif.bss_conf.chandef))
sdata            3347 net/mac80211/cfg.c 	if (sdata->vif.csa_active)
sdata            3351 net/mac80211/cfg.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            3366 net/mac80211/cfg.c 	err = drv_pre_channel_switch(sdata, &ch_switch);
sdata            3370 net/mac80211/cfg.c 	err = ieee80211_vif_reserve_chanctx(sdata, &params->chandef,
sdata            3377 net/mac80211/cfg.c 	err = ieee80211_check_combinations(sdata, NULL, chanctx->mode, 0);
sdata            3379 net/mac80211/cfg.c 		ieee80211_vif_unreserve_chanctx(sdata);
sdata            3383 net/mac80211/cfg.c 	err = ieee80211_set_csa_beacon(sdata, params, &changed);
sdata            3385 net/mac80211/cfg.c 		ieee80211_vif_unreserve_chanctx(sdata);
sdata            3389 net/mac80211/cfg.c 	sdata->csa_chandef = params->chandef;
sdata            3390 net/mac80211/cfg.c 	sdata->csa_block_tx = params->block_tx;
sdata            3391 net/mac80211/cfg.c 	sdata->vif.csa_active = true;
sdata            3393 net/mac80211/cfg.c 	if (sdata->csa_block_tx)
sdata            3394 net/mac80211/cfg.c 		ieee80211_stop_vif_queues(local, sdata,
sdata            3397 net/mac80211/cfg.c 	cfg80211_ch_switch_started_notify(sdata->dev, &sdata->csa_chandef,
sdata            3401 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, changed);
sdata            3402 net/mac80211/cfg.c 		drv_channel_switch_beacon(sdata, &params->chandef);
sdata            3405 net/mac80211/cfg.c 		ieee80211_csa_finalize(sdata);
sdata            3416 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3417 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            3474 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            3480 net/mac80211/cfg.c 			sdata->vif.probe_req_reg++;
sdata            3485 net/mac80211/cfg.c 			if (sdata->vif.probe_req_reg)
sdata            3486 net/mac80211/cfg.c 				sdata->vif.probe_req_reg--;
sdata            3492 net/mac80211/cfg.c 		if (sdata->vif.probe_req_reg == 1)
sdata            3493 net/mac80211/cfg.c 			drv_config_iface_filter(local, sdata, FIF_PROBE_REQ,
sdata            3495 net/mac80211/cfg.c 		else if (sdata->vif.probe_req_reg == 0)
sdata            3496 net/mac80211/cfg.c 			drv_config_iface_filter(local, sdata, 0,
sdata            3528 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3533 net/mac80211/cfg.c 	drv_set_rekey_data(local, sdata, data);
sdata            3541 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3542 net/mac80211/cfg.c 	struct ieee80211_local *local = sdata->local;
sdata            3558 net/mac80211/cfg.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            3564 net/mac80211/cfg.c 	sta = sta_info_get_bss(sdata, peer);
sdata            3597 net/mac80211/cfg.c 	memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN);
sdata            3598 net/mac80211/cfg.c 	memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN);
sdata            3619 net/mac80211/cfg.c 	ieee80211_xmit(sdata, sta, skb, 0);
sdata            3634 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            3640 net/mac80211/cfg.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            3642 net/mac80211/cfg.c 		*chandef = sdata->vif.bss_conf.chandef;
sdata            3646 net/mac80211/cfg.c 		   sdata->vif.type == NL80211_IFTYPE_MONITOR) {
sdata            3669 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3682 net/mac80211/cfg.c 	old_qos_map = sdata_dereference(sdata->qos_map, sdata);
sdata            3683 net/mac80211/cfg.c 	rcu_assign_pointer(sdata->qos_map, new_qos_map);
sdata            3694 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3698 net/mac80211/cfg.c 	ret = ieee80211_vif_change_bandwidth(sdata, chandef, &changed);
sdata            3700 net/mac80211/cfg.c 		ieee80211_bss_info_change_notify(sdata, changed);
sdata            3709 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3710 net/mac80211/cfg.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3713 net/mac80211/cfg.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3716 net/mac80211/cfg.c 	if (!(sdata->wmm_acm & BIT(up)))
sdata            3734 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3735 net/mac80211/cfg.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3757 net/mac80211/cfg.c 		ieee80211_flush_queues(local, sdata, false);
sdata            3764 net/mac80211/cfg.c 		ieee80211_sta_handle_tspec_ac_params(sdata);
sdata            3780 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            3787 net/mac80211/cfg.c 	spin_lock_bh(&sdata->u.nan.func_lock);
sdata            3789 net/mac80211/cfg.c 	func = idr_find(&sdata->u.nan.function_inst_ids, inst_id);
sdata            3791 net/mac80211/cfg.c 		spin_unlock_bh(&sdata->u.nan.func_lock);
sdata            3796 net/mac80211/cfg.c 	idr_remove(&sdata->u.nan.function_inst_ids, inst_id);
sdata            3798 net/mac80211/cfg.c 	spin_unlock_bh(&sdata->u.nan.func_lock);
sdata            3811 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            3817 net/mac80211/cfg.c 	spin_lock_bh(&sdata->u.nan.func_lock);
sdata            3819 net/mac80211/cfg.c 	func = idr_find(&sdata->u.nan.function_inst_ids,  match->inst_id);
sdata            3821 net/mac80211/cfg.c 		spin_unlock_bh(&sdata->u.nan.func_lock);
sdata            3826 net/mac80211/cfg.c 	spin_unlock_bh(&sdata->u.nan.func_lock);
sdata            3836 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3838 net/mac80211/cfg.c 	sdata->u.ap.multicast_to_unicast = enabled;
sdata            3897 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata;
sdata            3907 net/mac80211/cfg.c 		sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata            3908 net/mac80211/cfg.c 		if (!sdata->vif.txq) {
sdata            3912 net/mac80211/cfg.c 		ieee80211_fill_txq_stats(txqstats, to_txq_info(sdata->vif.txq));
sdata            3942 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3944 net/mac80211/cfg.c 	return drv_get_ftm_responder_stats(local, sdata, ftm_stats);
sdata            3952 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(dev);
sdata            3954 net/mac80211/cfg.c 	return drv_start_pmsr(local, sdata, request);
sdata            3962 net/mac80211/cfg.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(dev);
sdata            3964 net/mac80211/cfg.c 	return drv_abort_pmsr(local, sdata, request);
sdata              16 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata              21 net/mac80211/chan.c 	list_for_each_entry(sdata, &ctx->assigned_vifs, assigned_chanctx_list)
sdata              30 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata              35 net/mac80211/chan.c 	list_for_each_entry(sdata, &ctx->reserved_vifs, reserved_chanctx_list)
sdata              68 net/mac80211/chan.c ieee80211_vif_get_chanctx(struct ieee80211_sub_if_data *sdata)
sdata              70 net/mac80211/chan.c 	struct ieee80211_local *local __maybe_unused = sdata->local;
sdata              73 net/mac80211/chan.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata              86 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata              90 net/mac80211/chan.c 	list_for_each_entry(sdata, &ctx->reserved_vifs,
sdata              93 net/mac80211/chan.c 			compat = &sdata->reserved_chandef;
sdata              95 net/mac80211/chan.c 		compat = cfg80211_chandef_compatible(&sdata->reserved_chandef,
sdata             109 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             113 net/mac80211/chan.c 	list_for_each_entry(sdata, &ctx->assigned_vifs,
sdata             115 net/mac80211/chan.c 		if (sdata->reserved_chanctx != NULL)
sdata             119 net/mac80211/chan.c 			compat = &sdata->vif.bss_conf.chandef;
sdata             122 net/mac80211/chan.c 				&sdata->vif.bss_conf.chandef, compat);
sdata             224 net/mac80211/chan.c ieee80211_get_max_required_bw(struct ieee80211_sub_if_data *sdata)
sdata             230 net/mac80211/chan.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
sdata             231 net/mac80211/chan.c 		if (sdata != sta->sdata &&
sdata             232 net/mac80211/chan.c 		    !(sta->sdata->bss && sta->sdata->bss == sdata->bss))
sdata             246 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             250 net/mac80211/chan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             251 net/mac80211/chan.c 		struct ieee80211_vif *vif = &sdata->vif;
sdata             254 net/mac80211/chan.c 		if (!ieee80211_sdata_running(sdata))
sdata             257 net/mac80211/chan.c 		if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf)
sdata             263 net/mac80211/chan.c 			width = ieee80211_get_max_required_bw(sdata);
sdata             272 net/mac80211/chan.c 				    ieee80211_get_max_required_bw(sdata));
sdata             294 net/mac80211/chan.c 	sdata = rcu_dereference(local->monitor_sdata);
sdata             295 net/mac80211/chan.c 	if (sdata && rcu_access_pointer(sdata->vif.chanctx_conf) == conf)
sdata             402 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             407 net/mac80211/chan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             408 net/mac80211/chan.c 		if (sdata->radar_required) {
sdata             423 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             430 net/mac80211/chan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             431 net/mac80211/chan.c 		if (!ieee80211_sdata_running(sdata))
sdata             433 net/mac80211/chan.c 		if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf)
sdata             435 net/mac80211/chan.c 		if (!sdata->radar_required)
sdata             570 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             577 net/mac80211/chan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             579 net/mac80211/chan.c 		if (!ieee80211_sdata_running(sdata))
sdata             581 net/mac80211/chan.c 		if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf)
sdata             583 net/mac80211/chan.c 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata             587 net/mac80211/chan.c 			compat = &sdata->vif.bss_conf.chandef;
sdata             590 net/mac80211/chan.c 				&sdata->vif.bss_conf.chandef, compat);
sdata             640 net/mac80211/chan.c static int ieee80211_assign_vif_chanctx(struct ieee80211_sub_if_data *sdata,
sdata             643 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata             648 net/mac80211/chan.c 	if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_NAN))
sdata             651 net/mac80211/chan.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata             657 net/mac80211/chan.c 		drv_unassign_vif_chanctx(local, sdata, curr_ctx);
sdata             659 net/mac80211/chan.c 		list_del(&sdata->assigned_chanctx_list);
sdata             663 net/mac80211/chan.c 		ret = drv_assign_vif_chanctx(local, sdata, new_ctx);
sdata             668 net/mac80211/chan.c 		list_add(&sdata->assigned_chanctx_list,
sdata             673 net/mac80211/chan.c 	rcu_assign_pointer(sdata->vif.chanctx_conf, conf);
sdata             675 net/mac80211/chan.c 	sdata->vif.bss_conf.idle = !conf;
sdata             685 net/mac80211/chan.c 		ieee80211_recalc_txpower(sdata, false);
sdata             689 net/mac80211/chan.c 	if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
sdata             690 net/mac80211/chan.c 	    sdata->vif.type != NL80211_IFTYPE_MONITOR)
sdata             691 net/mac80211/chan.c 		ieee80211_bss_info_change_notify(sdata,
sdata             694 net/mac80211/chan.c 	ieee80211_check_fast_xmit_iface(sdata);
sdata             702 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata             711 net/mac80211/chan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             714 net/mac80211/chan.c 		if (!ieee80211_sdata_running(sdata))
sdata             717 net/mac80211/chan.c 		if (rcu_access_pointer(sdata->vif.chanctx_conf) !=
sdata             721 net/mac80211/chan.c 		switch (sdata->vif.type) {
sdata             726 net/mac80211/chan.c 			if (!sdata->u.mgd.associated)
sdata             741 net/mac80211/chan.c 		switch (sdata->smps_mode) {
sdata             744 net/mac80211/chan.c 				  sdata->smps_mode);
sdata             747 net/mac80211/chan.c 			needed_static = sdata->needed_rx_chains;
sdata             748 net/mac80211/chan.c 			needed_dynamic = sdata->needed_rx_chains;
sdata             752 net/mac80211/chan.c 			needed_dynamic = sdata->needed_rx_chains;
sdata             765 net/mac80211/chan.c 	sdata = rcu_dereference(local->monitor_sdata);
sdata             766 net/mac80211/chan.c 	if (sdata &&
sdata             767 net/mac80211/chan.c 	    rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf)
sdata             792 net/mac80211/chan.c __ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,
sdata             795 net/mac80211/chan.c 	struct ieee80211_local *local __maybe_unused = sdata->local;
sdata             799 net/mac80211/chan.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP))
sdata             810 net/mac80211/chan.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata             817 net/mac80211/chan.c 	list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata             821 net/mac80211/chan.c void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,
sdata             824 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata             828 net/mac80211/chan.c 	__ieee80211_vif_copy_chanctx_to_vlans(sdata, clear);
sdata             833 net/mac80211/chan.c int ieee80211_vif_unreserve_chanctx(struct ieee80211_sub_if_data *sdata)
sdata             835 net/mac80211/chan.c 	struct ieee80211_chanctx *ctx = sdata->reserved_chanctx;
sdata             837 net/mac80211/chan.c 	lockdep_assert_held(&sdata->local->chanctx_mtx);
sdata             842 net/mac80211/chan.c 	list_del(&sdata->reserved_chanctx_list);
sdata             843 net/mac80211/chan.c 	sdata->reserved_chanctx = NULL;
sdata             845 net/mac80211/chan.c 	if (ieee80211_chanctx_refcount(sdata->local, ctx) == 0) {
sdata             861 net/mac80211/chan.c 			ieee80211_free_chanctx(sdata->local, ctx);
sdata             868 net/mac80211/chan.c int ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata,
sdata             873 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata             878 net/mac80211/chan.c 	curr_ctx = ieee80211_vif_get_chanctx(sdata);
sdata             955 net/mac80211/chan.c 	list_add(&sdata->reserved_chanctx_list, &new_ctx->reserved_vifs);
sdata             956 net/mac80211/chan.c 	sdata->reserved_chanctx = new_ctx;
sdata             957 net/mac80211/chan.c 	sdata->reserved_chandef = *chandef;
sdata             958 net/mac80211/chan.c 	sdata->reserved_radar_required = radar_required;
sdata             959 net/mac80211/chan.c 	sdata->reserved_ready = false;
sdata             965 net/mac80211/chan.c ieee80211_vif_chanctx_reservation_complete(struct ieee80211_sub_if_data *sdata)
sdata             967 net/mac80211/chan.c 	switch (sdata->vif.type) {
sdata             972 net/mac80211/chan.c 		ieee80211_queue_work(&sdata->local->hw,
sdata             973 net/mac80211/chan.c 				     &sdata->csa_finalize_work);
sdata             976 net/mac80211/chan.c 		ieee80211_queue_work(&sdata->local->hw,
sdata             977 net/mac80211/chan.c 				     &sdata->u.mgd.chswitch_work);
sdata             994 net/mac80211/chan.c ieee80211_vif_update_chandef(struct ieee80211_sub_if_data *sdata,
sdata             999 net/mac80211/chan.c 	sdata->vif.bss_conf.chandef = *chandef;
sdata            1001 net/mac80211/chan.c 	if (sdata->vif.type != NL80211_IFTYPE_AP)
sdata            1004 net/mac80211/chan.c 	list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata            1009 net/mac80211/chan.c ieee80211_vif_use_reserved_reassign(struct ieee80211_sub_if_data *sdata)
sdata            1011 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1021 net/mac80211/chan.c 	new_ctx = sdata->reserved_chanctx;
sdata            1022 net/mac80211/chan.c 	old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1024 net/mac80211/chan.c 	if (WARN_ON(!sdata->reserved_ready))
sdata            1038 net/mac80211/chan.c 				&sdata->reserved_chandef);
sdata            1044 net/mac80211/chan.c 	vif_chsw[0].vif = &sdata->vif;
sdata            1048 net/mac80211/chan.c 	list_del(&sdata->reserved_chanctx_list);
sdata            1049 net/mac80211/chan.c 	sdata->reserved_chanctx = NULL;
sdata            1060 net/mac80211/chan.c 	list_move(&sdata->assigned_chanctx_list, &new_ctx->assigned_vifs);
sdata            1061 net/mac80211/chan.c 	rcu_assign_pointer(sdata->vif.chanctx_conf, &new_ctx->conf);
sdata            1063 net/mac80211/chan.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1064 net/mac80211/chan.c 		__ieee80211_vif_copy_chanctx_to_vlans(sdata, false);
sdata            1066 net/mac80211/chan.c 	ieee80211_check_fast_xmit_iface(sdata);
sdata            1071 net/mac80211/chan.c 	if (sdata->vif.bss_conf.chandef.width != sdata->reserved_chandef.width)
sdata            1074 net/mac80211/chan.c 	ieee80211_vif_update_chandef(sdata, &sdata->reserved_chandef);
sdata            1081 net/mac80211/chan.c 		ieee80211_bss_info_change_notify(sdata, changed);
sdata            1084 net/mac80211/chan.c 	ieee80211_vif_chanctx_reservation_complete(sdata);
sdata            1089 net/mac80211/chan.c ieee80211_vif_use_reserved_assign(struct ieee80211_sub_if_data *sdata)
sdata            1091 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1096 net/mac80211/chan.c 	old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1097 net/mac80211/chan.c 	new_ctx = sdata->reserved_chanctx;
sdata            1099 net/mac80211/chan.c 	if (WARN_ON(!sdata->reserved_ready))
sdata            1113 net/mac80211/chan.c 				&sdata->reserved_chandef);
sdata            1119 net/mac80211/chan.c 	list_del(&sdata->reserved_chanctx_list);
sdata            1120 net/mac80211/chan.c 	sdata->reserved_chanctx = NULL;
sdata            1122 net/mac80211/chan.c 	err = ieee80211_assign_vif_chanctx(sdata, new_ctx);
sdata            1131 net/mac80211/chan.c 	ieee80211_vif_chanctx_reservation_complete(sdata);
sdata            1136 net/mac80211/chan.c ieee80211_vif_has_in_place_reservation(struct ieee80211_sub_if_data *sdata)
sdata            1140 net/mac80211/chan.c 	lockdep_assert_held(&sdata->local->chanctx_mtx);
sdata            1142 net/mac80211/chan.c 	new_ctx = sdata->reserved_chanctx;
sdata            1143 net/mac80211/chan.c 	old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1183 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata;
sdata            1204 net/mac80211/chan.c 		list_for_each_entry(sdata, &ctx->reserved_vifs,
sdata            1207 net/mac80211/chan.c 					sdata))
sdata            1210 net/mac80211/chan.c 			old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1211 net/mac80211/chan.c 			vif_chsw[i].vif = &sdata->vif;
sdata            1268 net/mac80211/chan.c 	struct ieee80211_sub_if_data *sdata, *sdata_tmp;
sdata            1311 net/mac80211/chan.c 		list_for_each_entry(sdata, &ctx->replace_ctx->assigned_vifs,
sdata            1314 net/mac80211/chan.c 			if (sdata->reserved_chanctx) {
sdata            1316 net/mac80211/chan.c 				if (sdata->reserved_ready)
sdata            1333 net/mac80211/chan.c 		list_for_each_entry(sdata, &ctx->reserved_vifs,
sdata            1335 net/mac80211/chan.c 			if (ieee80211_vif_has_in_place_reservation(sdata) &&
sdata            1336 net/mac80211/chan.c 			    !sdata->reserved_ready)
sdata            1339 net/mac80211/chan.c 			old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1350 net/mac80211/chan.c 			if (sdata->reserved_radar_required)
sdata            1401 net/mac80211/chan.c 		list_for_each_entry(sdata, &ctx->reserved_vifs,
sdata            1405 net/mac80211/chan.c 			if (!ieee80211_vif_has_in_place_reservation(sdata))
sdata            1408 net/mac80211/chan.c 			rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf);
sdata            1410 net/mac80211/chan.c 			if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1411 net/mac80211/chan.c 				__ieee80211_vif_copy_chanctx_to_vlans(sdata,
sdata            1414 net/mac80211/chan.c 			ieee80211_check_fast_xmit_iface(sdata);
sdata            1416 net/mac80211/chan.c 			sdata->radar_required = sdata->reserved_radar_required;
sdata            1418 net/mac80211/chan.c 			if (sdata->vif.bss_conf.chandef.width !=
sdata            1419 net/mac80211/chan.c 			    sdata->reserved_chandef.width)
sdata            1422 net/mac80211/chan.c 			ieee80211_vif_update_chandef(sdata, &sdata->reserved_chandef);
sdata            1424 net/mac80211/chan.c 				ieee80211_bss_info_change_notify(sdata,
sdata            1427 net/mac80211/chan.c 			ieee80211_recalc_txpower(sdata, false);
sdata            1435 net/mac80211/chan.c 		list_for_each_entry_safe(sdata, sdata_tmp, &ctx->reserved_vifs,
sdata            1437 net/mac80211/chan.c 			if (ieee80211_vif_get_chanctx(sdata) != ctx)
sdata            1440 net/mac80211/chan.c 			list_del(&sdata->reserved_chanctx_list);
sdata            1441 net/mac80211/chan.c 			list_move(&sdata->assigned_chanctx_list,
sdata            1443 net/mac80211/chan.c 			sdata->reserved_chanctx = NULL;
sdata            1445 net/mac80211/chan.c 			ieee80211_vif_chanctx_reservation_complete(sdata);
sdata            1455 net/mac80211/chan.c 		list_for_each_entry_safe(sdata, sdata_tmp, &ctx->reserved_vifs,
sdata            1458 net/mac80211/chan.c 					sdata)))
sdata            1461 net/mac80211/chan.c 			if (WARN_ON(sdata->reserved_chanctx != ctx))
sdata            1464 net/mac80211/chan.c 			if (!sdata->reserved_ready)
sdata            1467 net/mac80211/chan.c 			if (ieee80211_vif_get_chanctx(sdata))
sdata            1469 net/mac80211/chan.c 						sdata);
sdata            1471 net/mac80211/chan.c 				err = ieee80211_vif_use_reserved_assign(sdata);
sdata            1474 net/mac80211/chan.c 				sdata_info(sdata,
sdata            1477 net/mac80211/chan.c 				ieee80211_vif_unreserve_chanctx(sdata);
sdata            1479 net/mac80211/chan.c 						    &sdata->wdev,
sdata            1508 net/mac80211/chan.c 		list_for_each_entry_safe(sdata, sdata_tmp, &ctx->reserved_vifs,
sdata            1510 net/mac80211/chan.c 			ieee80211_vif_unreserve_chanctx(sdata);
sdata            1511 net/mac80211/chan.c 			ieee80211_vif_chanctx_reservation_complete(sdata);
sdata            1518 net/mac80211/chan.c static void __ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata)
sdata            1520 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1527 net/mac80211/chan.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            1534 net/mac80211/chan.c 	if (sdata->reserved_chanctx) {
sdata            1535 net/mac80211/chan.c 		if (sdata->reserved_chanctx->replace_state ==
sdata            1538 net/mac80211/chan.c 						   sdata->reserved_chanctx) > 1)
sdata            1541 net/mac80211/chan.c 		ieee80211_vif_unreserve_chanctx(sdata);
sdata            1544 net/mac80211/chan.c 	ieee80211_assign_vif_chanctx(sdata, NULL);
sdata            1548 net/mac80211/chan.c 	sdata->radar_required = false;
sdata            1555 net/mac80211/chan.c int ieee80211_vif_use_channel(struct ieee80211_sub_if_data *sdata,
sdata            1559 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1566 net/mac80211/chan.c 	WARN_ON(sdata->dev && netif_carrier_ok(sdata->dev));
sdata            1572 net/mac80211/chan.c 					    sdata->wdev.iftype);
sdata            1578 net/mac80211/chan.c 	sdata->radar_required = ret;
sdata            1580 net/mac80211/chan.c 	ret = ieee80211_check_combinations(sdata, chandef, mode,
sdata            1585 net/mac80211/chan.c 	__ieee80211_vif_release_channel(sdata);
sdata            1595 net/mac80211/chan.c 	ieee80211_vif_update_chandef(sdata, chandef);
sdata            1597 net/mac80211/chan.c 	ret = ieee80211_assign_vif_chanctx(sdata, ctx);
sdata            1609 net/mac80211/chan.c 		sdata->radar_required = false;
sdata            1615 net/mac80211/chan.c int ieee80211_vif_use_reserved_context(struct ieee80211_sub_if_data *sdata)
sdata            1617 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1625 net/mac80211/chan.c 	new_ctx = sdata->reserved_chanctx;
sdata            1626 net/mac80211/chan.c 	old_ctx = ieee80211_vif_get_chanctx(sdata);
sdata            1635 net/mac80211/chan.c 	if (WARN_ON(sdata->reserved_ready))
sdata            1638 net/mac80211/chan.c 	sdata->reserved_ready = true;
sdata            1642 net/mac80211/chan.c 			err = ieee80211_vif_use_reserved_reassign(sdata);
sdata            1644 net/mac80211/chan.c 			err = ieee80211_vif_use_reserved_assign(sdata);
sdata            1679 net/mac80211/chan.c int ieee80211_vif_change_bandwidth(struct ieee80211_sub_if_data *sdata,
sdata            1683 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1689 net/mac80211/chan.c 	if (!cfg80211_chandef_usable(sdata->local->hw.wiphy, chandef,
sdata            1694 net/mac80211/chan.c 	if (cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef)) {
sdata            1700 net/mac80211/chan.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) {
sdata            1705 net/mac80211/chan.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            1740 net/mac80211/chan.c 	ieee80211_vif_update_chandef(sdata, chandef);
sdata            1751 net/mac80211/chan.c void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata)
sdata            1753 net/mac80211/chan.c 	WARN_ON(sdata->dev && netif_carrier_ok(sdata->dev));
sdata            1755 net/mac80211/chan.c 	lockdep_assert_held(&sdata->local->mtx);
sdata            1757 net/mac80211/chan.c 	mutex_lock(&sdata->local->chanctx_mtx);
sdata            1758 net/mac80211/chan.c 	__ieee80211_vif_release_channel(sdata);
sdata            1759 net/mac80211/chan.c 	mutex_unlock(&sdata->local->chanctx_mtx);
sdata            1762 net/mac80211/chan.c void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata)
sdata            1764 net/mac80211/chan.c 	struct ieee80211_local *local = sdata->local;
sdata            1768 net/mac80211/chan.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->bss))
sdata            1771 net/mac80211/chan.c 	ap = container_of(sdata->bss, struct ieee80211_sub_if_data, u.ap);
sdata            1777 net/mac80211/chan.c 	rcu_assign_pointer(sdata->vif.chanctx_conf, conf);
sdata              91 net/mac80211/debug.h #define _sdata_info(sdata, fmt, ...)					\
sdata              92 net/mac80211/debug.h 	__sdata_info("%s: " fmt, (sdata)->name, ##__VA_ARGS__)
sdata              93 net/mac80211/debug.h #define _sdata_dbg(print, sdata, fmt, ...)				\
sdata              94 net/mac80211/debug.h 	__sdata_dbg(print, "%s: " fmt, (sdata)->name, ##__VA_ARGS__)
sdata              95 net/mac80211/debug.h #define _sdata_err(sdata, fmt, ...)					\
sdata              96 net/mac80211/debug.h 	__sdata_err("%s: " fmt, (sdata)->name, ##__VA_ARGS__)
sdata             100 net/mac80211/debug.h #define _sdata_info(sdata, fmt, ...)					\
sdata             103 net/mac80211/debug.h 		(sdata)->name, ##__VA_ARGS__);				\
sdata             106 net/mac80211/debug.h #define _sdata_dbg(print, sdata, fmt, ...)				\
sdata             110 net/mac80211/debug.h 			 (sdata)->name, ##__VA_ARGS__);			\
sdata             113 net/mac80211/debug.h #define _sdata_err(sdata, fmt, ...)					\
sdata             116 net/mac80211/debug.h 	       (sdata)->name, ##__VA_ARGS__);				\
sdata             126 net/mac80211/debug.h #define sdata_info(sdata, fmt, ...)					\
sdata             127 net/mac80211/debug.h 	_sdata_info(sdata, fmt, ##__VA_ARGS__)
sdata             128 net/mac80211/debug.h #define sdata_err(sdata, fmt, ...)					\
sdata             129 net/mac80211/debug.h 	_sdata_err(sdata, fmt, ##__VA_ARGS__)
sdata             130 net/mac80211/debug.h #define sdata_dbg(sdata, fmt, ...)					\
sdata             131 net/mac80211/debug.h 	_sdata_dbg(1, sdata, fmt, ##__VA_ARGS__)
sdata             133 net/mac80211/debug.h #define ht_dbg(sdata, fmt, ...)						\
sdata             135 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             137 net/mac80211/debug.h #define ht_dbg_ratelimited(sdata, fmt, ...)				\
sdata             139 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             141 net/mac80211/debug.h #define ocb_dbg(sdata, fmt, ...)					\
sdata             143 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             145 net/mac80211/debug.h #define ibss_dbg(sdata, fmt, ...)					\
sdata             147 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             149 net/mac80211/debug.h #define ps_dbg(sdata, fmt, ...)						\
sdata             151 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             157 net/mac80211/debug.h #define ps_dbg_ratelimited(sdata, fmt, ...)				\
sdata             159 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             161 net/mac80211/debug.h #define mpl_dbg(sdata, fmt, ...)					\
sdata             163 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             165 net/mac80211/debug.h #define mpath_dbg(sdata, fmt, ...)					\
sdata             167 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             169 net/mac80211/debug.h #define mhwmp_dbg(sdata, fmt, ...)					\
sdata             171 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             173 net/mac80211/debug.h #define msync_dbg(sdata, fmt, ...)					\
sdata             175 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             177 net/mac80211/debug.h #define mcsa_dbg(sdata, fmt, ...)					\
sdata             179 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             181 net/mac80211/debug.h #define mps_dbg(sdata, fmt, ...)					\
sdata             183 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             185 net/mac80211/debug.h #define tdls_dbg(sdata, fmt, ...)					\
sdata             187 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             189 net/mac80211/debug.h #define sta_dbg(sdata, fmt, ...)					\
sdata             191 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             193 net/mac80211/debug.h #define mlme_dbg(sdata, fmt, ...)					\
sdata             195 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata             197 net/mac80211/debug.h #define mlme_dbg_ratelimited(sdata, fmt, ...)				\
sdata             199 net/mac80211/debug.h 		   sdata, fmt, ##__VA_ARGS__)
sdata              66 net/mac80211/debugfs_key.c KEY_READ(ifindex, sdata->name, "%s\n");
sdata             345 net/mac80211/debugfs_key.c 			sta->sdata->name, sta->sta.addr);
sdata             373 net/mac80211/debugfs_key.c void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata)
sdata             378 net/mac80211/debugfs_key.c 	if (!sdata->vif.debugfs_dir)
sdata             381 net/mac80211/debugfs_key.c 	lockdep_assert_held(&sdata->local->key_mtx);
sdata             383 net/mac80211/debugfs_key.c 	debugfs_remove(sdata->debugfs.default_unicast_key);
sdata             384 net/mac80211/debugfs_key.c 	sdata->debugfs.default_unicast_key = NULL;
sdata             386 net/mac80211/debugfs_key.c 	if (sdata->default_unicast_key) {
sdata             387 net/mac80211/debugfs_key.c 		key = key_mtx_dereference(sdata->local,
sdata             388 net/mac80211/debugfs_key.c 					  sdata->default_unicast_key);
sdata             390 net/mac80211/debugfs_key.c 		sdata->debugfs.default_unicast_key =
sdata             392 net/mac80211/debugfs_key.c 					       sdata->vif.debugfs_dir, buf);
sdata             395 net/mac80211/debugfs_key.c 	debugfs_remove(sdata->debugfs.default_multicast_key);
sdata             396 net/mac80211/debugfs_key.c 	sdata->debugfs.default_multicast_key = NULL;
sdata             398 net/mac80211/debugfs_key.c 	if (sdata->default_multicast_key) {
sdata             399 net/mac80211/debugfs_key.c 		key = key_mtx_dereference(sdata->local,
sdata             400 net/mac80211/debugfs_key.c 					  sdata->default_multicast_key);
sdata             402 net/mac80211/debugfs_key.c 		sdata->debugfs.default_multicast_key =
sdata             404 net/mac80211/debugfs_key.c 					       sdata->vif.debugfs_dir, buf);
sdata             408 net/mac80211/debugfs_key.c void ieee80211_debugfs_key_add_mgmt_default(struct ieee80211_sub_if_data *sdata)
sdata             413 net/mac80211/debugfs_key.c 	if (!sdata->vif.debugfs_dir)
sdata             416 net/mac80211/debugfs_key.c 	key = key_mtx_dereference(sdata->local,
sdata             417 net/mac80211/debugfs_key.c 				  sdata->default_mgmt_key);
sdata             420 net/mac80211/debugfs_key.c 		sdata->debugfs.default_mgmt_key =
sdata             422 net/mac80211/debugfs_key.c 					       sdata->vif.debugfs_dir, buf);
sdata             424 net/mac80211/debugfs_key.c 		ieee80211_debugfs_key_remove_mgmt_default(sdata);
sdata             427 net/mac80211/debugfs_key.c void ieee80211_debugfs_key_remove_mgmt_default(struct ieee80211_sub_if_data *sdata)
sdata             429 net/mac80211/debugfs_key.c 	if (!sdata)
sdata             432 net/mac80211/debugfs_key.c 	debugfs_remove(sdata->debugfs.default_mgmt_key);
sdata             433 net/mac80211/debugfs_key.c 	sdata->debugfs.default_mgmt_key = NULL;
sdata               8 net/mac80211/debugfs_key.h void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata);
sdata              10 net/mac80211/debugfs_key.h 	struct ieee80211_sub_if_data *sdata);
sdata              12 net/mac80211/debugfs_key.h 	struct ieee80211_sub_if_data *sdata);
sdata              21 net/mac80211/debugfs_key.h 	struct ieee80211_sub_if_data *sdata)
sdata              24 net/mac80211/debugfs_key.h 	struct ieee80211_sub_if_data *sdata)
sdata              27 net/mac80211/debugfs_key.h 	struct ieee80211_sub_if_data *sdata)
sdata              25 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata,
sdata              34 net/mac80211/debugfs_netdev.c 	ret = (*format)(sdata, buf, sizeof(buf));
sdata              44 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata,
sdata              61 net/mac80211/debugfs_netdev.c 	ret = (*write)(sdata, buf, count);
sdata              69 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf,		\
sdata              72 net/mac80211/debugfs_netdev.c 	return scnprintf(buf, buflen, format_string, sdata->field);	\
sdata              85 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata,			\
sdata              90 net/mac80211/debugfs_netdev.c 	for (i = 0; i < sizeof(sdata->field); i++) {			\
sdata              92 net/mac80211/debugfs_netdev.c 				 sdata->field[i]);			\
sdata             100 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata,			\
sdata             103 net/mac80211/debugfs_netdev.c 	return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\
sdata             108 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf,		\
sdata             111 net/mac80211/debugfs_netdev.c 	return scnprintf(buf, buflen, "%pM\n", sdata->field);		\
sdata             116 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata,			\
sdata             120 net/mac80211/debugfs_netdev.c 			 jiffies_to_msecs(sdata->field));		\
sdata             179 net/mac80211/debugfs_netdev.c 				const struct ieee80211_sub_if_data *sdata,
sdata             183 net/mac80211/debugfs_netdev.c 	const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ];
sdata             195 net/mac80211/debugfs_netdev.c 				const struct ieee80211_sub_if_data *sdata,
sdata             199 net/mac80211/debugfs_netdev.c 	const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ];
sdata             217 net/mac80211/debugfs_netdev.c ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata,
sdata             223 net/mac80211/debugfs_netdev.c 			sdata->vif.hw_queue[IEEE80211_AC_VO],
sdata             224 net/mac80211/debugfs_netdev.c 			sdata->vif.hw_queue[IEEE80211_AC_VI],
sdata             225 net/mac80211/debugfs_netdev.c 			sdata->vif.hw_queue[IEEE80211_AC_BE],
sdata             226 net/mac80211/debugfs_netdev.c 			sdata->vif.hw_queue[IEEE80211_AC_BK]);
sdata             228 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata             230 net/mac80211/debugfs_netdev.c 				 sdata->vif.cab_queue);
sdata             241 net/mac80211/debugfs_netdev.c static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata,
sdata             244 net/mac80211/debugfs_netdev.c 	struct ieee80211_local *local = sdata->local;
sdata             257 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata             258 net/mac80211/debugfs_netdev.c 	    sdata->vif.type != NL80211_IFTYPE_AP)
sdata             261 net/mac80211/debugfs_netdev.c 	sdata_lock(sdata);
sdata             262 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata             263 net/mac80211/debugfs_netdev.c 		err = __ieee80211_request_smps_mgd(sdata, smps_mode);
sdata             265 net/mac80211/debugfs_netdev.c 		err = __ieee80211_request_smps_ap(sdata, smps_mode);
sdata             266 net/mac80211/debugfs_netdev.c 	sdata_unlock(sdata);
sdata             278 net/mac80211/debugfs_netdev.c static ssize_t ieee80211_if_fmt_smps(const struct ieee80211_sub_if_data *sdata,
sdata             281 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata             283 net/mac80211/debugfs_netdev.c 				smps_modes[sdata->u.mgd.req_smps],
sdata             284 net/mac80211/debugfs_netdev.c 				smps_modes[sdata->smps_mode]);
sdata             285 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata             287 net/mac80211/debugfs_netdev.c 				smps_modes[sdata->u.ap.req_smps],
sdata             288 net/mac80211/debugfs_netdev.c 				smps_modes[sdata->smps_mode]);
sdata             292 net/mac80211/debugfs_netdev.c static ssize_t ieee80211_if_parse_smps(struct ieee80211_sub_if_data *sdata,
sdata             299 net/mac80211/debugfs_netdev.c 			int err = ieee80211_set_smps(sdata, mode);
sdata             311 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             313 net/mac80211/debugfs_netdev.c 	struct ieee80211_local *local = sdata->local;
sdata             322 net/mac80211/debugfs_netdev.c 	if (!ieee80211_sdata_running(sdata))
sdata             333 net/mac80211/debugfs_netdev.c 	switch (sdata->vif.type) {
sdata             338 net/mac80211/debugfs_netdev.c 		memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata             339 net/mac80211/debugfs_netdev.c 		memcpy(hdr->addr3, sdata->vif.addr, ETH_ALEN);
sdata             344 net/mac80211/debugfs_netdev.c 		sdata_lock(sdata);
sdata             345 net/mac80211/debugfs_netdev.c 		if (!sdata->u.mgd.associated) {
sdata             346 net/mac80211/debugfs_netdev.c 			sdata_unlock(sdata);
sdata             350 net/mac80211/debugfs_netdev.c 		memcpy(hdr->addr1, sdata->u.mgd.associated->bssid, ETH_ALEN);
sdata             351 net/mac80211/debugfs_netdev.c 		memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata             353 net/mac80211/debugfs_netdev.c 		sdata_unlock(sdata);
sdata             370 net/mac80211/debugfs_netdev.c 	ieee80211_tx_skb(sdata, skb);
sdata             377 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             379 net/mac80211/debugfs_netdev.c 	if (!ieee80211_sdata_running(sdata) || !sdata->vif.bss_conf.assoc)
sdata             382 net/mac80211/debugfs_netdev.c 	ieee80211_beacon_loss(&sdata->vif);
sdata             389 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             391 net/mac80211/debugfs_netdev.c 	const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             397 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             399 net/mac80211/debugfs_netdev.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             417 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             419 net/mac80211/debugfs_netdev.c 	const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             425 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             427 net/mac80211/debugfs_netdev.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             445 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             447 net/mac80211/debugfs_netdev.c 	const struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             450 net/mac80211/debugfs_netdev.c 	tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) &&
sdata             457 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             459 net/mac80211/debugfs_netdev.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             479 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             482 net/mac80211/debugfs_netdev.c 			 skb_queue_len(&sdata->u.ap.ps.bc_buf));
sdata             487 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             489 net/mac80211/debugfs_netdev.c 	struct ieee80211_local *local = sdata->local;
sdata             493 net/mac80211/debugfs_netdev.c 	if (!sdata->vif.txq)
sdata             496 net/mac80211/debugfs_netdev.c 	txqi = to_txq_info(sdata->vif.txq);
sdata             527 net/mac80211/debugfs_netdev.c 	const struct ieee80211_sub_if_data *sdata, char *buf, int buflen)
sdata             529 net/mac80211/debugfs_netdev.c 	struct ieee80211_local *local = sdata->local;
sdata             532 net/mac80211/debugfs_netdev.c 	tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata);
sdata             538 net/mac80211/debugfs_netdev.c 	struct ieee80211_sub_if_data *sdata, const char *buf, int buflen)
sdata             540 net/mac80211/debugfs_netdev.c 	struct ieee80211_local *local = sdata->local;
sdata             547 net/mac80211/debugfs_netdev.c 			drv_reset_tsf(local, sdata);
sdata             564 net/mac80211/debugfs_netdev.c 			drv_offset_tsf(local, sdata, tsf_is_delta * tsf);
sdata             570 net/mac80211/debugfs_netdev.c 				tsf = drv_get_tsf(local, sdata) +
sdata             572 net/mac80211/debugfs_netdev.c 			drv_set_tsf(local, sdata, tsf);
sdata             578 net/mac80211/debugfs_netdev.c 	ieee80211_recalc_dtim(local, sdata);
sdata             651 net/mac80211/debugfs_netdev.c 	debugfs_create_file(#name, mode, sdata->vif.debugfs_dir, \
sdata             652 net/mac80211/debugfs_netdev.c 			    sdata, &name##_ops);
sdata             656 net/mac80211/debugfs_netdev.c static void add_common_files(struct ieee80211_sub_if_data *sdata)
sdata             666 net/mac80211/debugfs_netdev.c 	if (sdata->local->ops->wake_tx_queue &&
sdata             667 net/mac80211/debugfs_netdev.c 	    sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
sdata             668 net/mac80211/debugfs_netdev.c 	    sdata->vif.type != NL80211_IFTYPE_NAN)
sdata             672 net/mac80211/debugfs_netdev.c static void add_sta_files(struct ieee80211_sub_if_data *sdata)
sdata             685 net/mac80211/debugfs_netdev.c static void add_ap_files(struct ieee80211_sub_if_data *sdata)
sdata             696 net/mac80211/debugfs_netdev.c static void add_vlan_files(struct ieee80211_sub_if_data *sdata)
sdata             699 net/mac80211/debugfs_netdev.c 	debugfs_create_file("num_mcast_sta", 0400, sdata->vif.debugfs_dir,
sdata             700 net/mac80211/debugfs_netdev.c 			    sdata, &num_mcast_sta_vlan_ops);
sdata             703 net/mac80211/debugfs_netdev.c static void add_ibss_files(struct ieee80211_sub_if_data *sdata)
sdata             708 net/mac80211/debugfs_netdev.c static void add_wds_files(struct ieee80211_sub_if_data *sdata)
sdata             715 net/mac80211/debugfs_netdev.c static void add_mesh_files(struct ieee80211_sub_if_data *sdata)
sdata             721 net/mac80211/debugfs_netdev.c static void add_mesh_stats(struct ieee80211_sub_if_data *sdata)
sdata             724 net/mac80211/debugfs_netdev.c 						sdata->vif.debugfs_dir);
sdata             726 net/mac80211/debugfs_netdev.c 	debugfs_create_file(#name, 0400, dir, sdata, &name##_ops);
sdata             737 net/mac80211/debugfs_netdev.c static void add_mesh_config(struct ieee80211_sub_if_data *sdata)
sdata             740 net/mac80211/debugfs_netdev.c 						sdata->vif.debugfs_dir);
sdata             743 net/mac80211/debugfs_netdev.c 	debugfs_create_file(#name, 0600, dir, sdata, &name##_ops);
sdata             776 net/mac80211/debugfs_netdev.c static void add_files(struct ieee80211_sub_if_data *sdata)
sdata             778 net/mac80211/debugfs_netdev.c 	if (!sdata->vif.debugfs_dir)
sdata             787 net/mac80211/debugfs_netdev.c 	if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
sdata             788 net/mac80211/debugfs_netdev.c 		add_common_files(sdata);
sdata             790 net/mac80211/debugfs_netdev.c 	switch (sdata->vif.type) {
sdata             793 net/mac80211/debugfs_netdev.c 		add_mesh_files(sdata);
sdata             794 net/mac80211/debugfs_netdev.c 		add_mesh_stats(sdata);
sdata             795 net/mac80211/debugfs_netdev.c 		add_mesh_config(sdata);
sdata             799 net/mac80211/debugfs_netdev.c 		add_sta_files(sdata);
sdata             802 net/mac80211/debugfs_netdev.c 		add_ibss_files(sdata);
sdata             805 net/mac80211/debugfs_netdev.c 		add_ap_files(sdata);
sdata             808 net/mac80211/debugfs_netdev.c 		add_vlan_files(sdata);
sdata             811 net/mac80211/debugfs_netdev.c 		add_wds_files(sdata);
sdata             818 net/mac80211/debugfs_netdev.c void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata)
sdata             822 net/mac80211/debugfs_netdev.c 	sprintf(buf, "netdev:%s", sdata->name);
sdata             823 net/mac80211/debugfs_netdev.c 	sdata->vif.debugfs_dir = debugfs_create_dir(buf,
sdata             824 net/mac80211/debugfs_netdev.c 		sdata->local->hw.wiphy->debugfsdir);
sdata             825 net/mac80211/debugfs_netdev.c 	sdata->debugfs.subdir_stations = debugfs_create_dir("stations",
sdata             826 net/mac80211/debugfs_netdev.c 							sdata->vif.debugfs_dir);
sdata             827 net/mac80211/debugfs_netdev.c 	add_files(sdata);
sdata             830 net/mac80211/debugfs_netdev.c void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata)
sdata             832 net/mac80211/debugfs_netdev.c 	if (!sdata->vif.debugfs_dir)
sdata             835 net/mac80211/debugfs_netdev.c 	debugfs_remove_recursive(sdata->vif.debugfs_dir);
sdata             836 net/mac80211/debugfs_netdev.c 	sdata->vif.debugfs_dir = NULL;
sdata             837 net/mac80211/debugfs_netdev.c 	sdata->debugfs.subdir_stations = NULL;
sdata             840 net/mac80211/debugfs_netdev.c void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata)
sdata             845 net/mac80211/debugfs_netdev.c 	dir = sdata->vif.debugfs_dir;
sdata             850 net/mac80211/debugfs_netdev.c 	sprintf(buf, "netdev:%s", sdata->name);
sdata              10 net/mac80211/debugfs_netdev.h void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata);
sdata              11 net/mac80211/debugfs_netdev.h void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata);
sdata              12 net/mac80211/debugfs_netdev.h void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata);
sdata              15 net/mac80211/debugfs_netdev.h 	struct ieee80211_sub_if_data *sdata)
sdata              18 net/mac80211/debugfs_netdev.h 	struct ieee80211_sub_if_data *sdata)
sdata              21 net/mac80211/debugfs_netdev.h 	struct ieee80211_sub_if_data *sdata)
sdata             200 net/mac80211/debugfs_sta.c 	struct ieee80211_local *local = sta->sdata->local;
sdata             239 net/mac80211/debugfs_sta.c 	struct ieee80211_local *local = sta->sdata->local;
sdata             942 net/mac80211/debugfs_sta.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             943 net/mac80211/debugfs_sta.c 	struct dentry *stations_dir = sta->sdata->debugfs.subdir_stations;
sdata             991 net/mac80211/debugfs_sta.c 	drv_sta_add_debugfs(local, sdata, &sta->sta, sta->debugfs_dir);
sdata              53 net/mac80211/driver-ops.c 		      struct ieee80211_sub_if_data *sdata)
sdata              59 net/mac80211/driver-ops.c 	if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata              60 net/mac80211/driver-ops.c 		    (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
sdata              62 net/mac80211/driver-ops.c 		     !(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))))
sdata              65 net/mac80211/driver-ops.c 	trace_drv_add_interface(local, sdata);
sdata              66 net/mac80211/driver-ops.c 	ret = local->ops->add_interface(&local->hw, &sdata->vif);
sdata              70 net/mac80211/driver-ops.c 		sdata->flags |= IEEE80211_SDATA_IN_DRIVER;
sdata              76 net/mac80211/driver-ops.c 			 struct ieee80211_sub_if_data *sdata,
sdata              83 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata              86 net/mac80211/driver-ops.c 	trace_drv_change_interface(local, sdata, type, p2p);
sdata              87 net/mac80211/driver-ops.c 	ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p);
sdata              93 net/mac80211/driver-ops.c 			  struct ieee80211_sub_if_data *sdata)
sdata              97 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             100 net/mac80211/driver-ops.c 	trace_drv_remove_interface(local, sdata);
sdata             101 net/mac80211/driver-ops.c 	local->ops->remove_interface(&local->hw, &sdata->vif);
sdata             102 net/mac80211/driver-ops.c 	sdata->flags &= ~IEEE80211_SDATA_IN_DRIVER;
sdata             108 net/mac80211/driver-ops.c 		  struct ieee80211_sub_if_data *sdata,
sdata             117 net/mac80211/driver-ops.c 	sdata = get_bss_sdata(sdata);
sdata             118 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             121 net/mac80211/driver-ops.c 	trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state);
sdata             123 net/mac80211/driver-ops.c 		ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta,
sdata             127 net/mac80211/driver-ops.c 		ret = drv_sta_add(local, sdata, &sta->sta);
sdata             132 net/mac80211/driver-ops.c 		drv_sta_remove(local, sdata, &sta->sta);
sdata             140 net/mac80211/driver-ops.c 		      struct ieee80211_sub_if_data *sdata,
sdata             147 net/mac80211/driver-ops.c 	sdata = get_bss_sdata(sdata);
sdata             148 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             151 net/mac80211/driver-ops.c 	trace_drv_sta_set_txpwr(local, sdata, &sta->sta);
sdata             153 net/mac80211/driver-ops.c 		ret = local->ops->sta_set_txpwr(&local->hw, &sdata->vif,
sdata             160 net/mac80211/driver-ops.c 		       struct ieee80211_sub_if_data *sdata,
sdata             163 net/mac80211/driver-ops.c 	sdata = get_bss_sdata(sdata);
sdata             164 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             168 net/mac80211/driver-ops.c 		(sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata             169 net/mac80211/driver-ops.c 		 sdata->vif.type != NL80211_IFTYPE_MESH_POINT));
sdata             171 net/mac80211/driver-ops.c 	trace_drv_sta_rc_update(local, sdata, sta, changed);
sdata             173 net/mac80211/driver-ops.c 		local->ops->sta_rc_update(&local->hw, &sdata->vif,
sdata             180 net/mac80211/driver-ops.c 		struct ieee80211_sub_if_data *sdata, u16 ac,
sdata             187 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             197 net/mac80211/driver-ops.c 			  sdata->name, params->cw_min, params->cw_max);
sdata             201 net/mac80211/driver-ops.c 	trace_drv_conf_tx(local, sdata, ac, params);
sdata             203 net/mac80211/driver-ops.c 		ret = local->ops->conf_tx(&local->hw, &sdata->vif,
sdata             210 net/mac80211/driver-ops.c 		struct ieee80211_sub_if_data *sdata)
sdata             216 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             219 net/mac80211/driver-ops.c 	trace_drv_get_tsf(local, sdata);
sdata             221 net/mac80211/driver-ops.c 		ret = local->ops->get_tsf(&local->hw, &sdata->vif);
sdata             227 net/mac80211/driver-ops.c 		 struct ieee80211_sub_if_data *sdata,
sdata             232 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             235 net/mac80211/driver-ops.c 	trace_drv_set_tsf(local, sdata, tsf);
sdata             237 net/mac80211/driver-ops.c 		local->ops->set_tsf(&local->hw, &sdata->vif, tsf);
sdata             242 net/mac80211/driver-ops.c 		    struct ieee80211_sub_if_data *sdata,
sdata             247 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             250 net/mac80211/driver-ops.c 	trace_drv_offset_tsf(local, sdata, offset);
sdata             252 net/mac80211/driver-ops.c 		local->ops->offset_tsf(&local->hw, &sdata->vif, offset);
sdata             257 net/mac80211/driver-ops.c 		   struct ieee80211_sub_if_data *sdata)
sdata             261 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             264 net/mac80211/driver-ops.c 	trace_drv_reset_tsf(local, sdata);
sdata             266 net/mac80211/driver-ops.c 		local->ops->reset_tsf(&local->hw, &sdata->vif);
sdata             324 net/mac80211/driver-ops.c 		     struct ieee80211_sub_if_data *sdata,
sdata             331 net/mac80211/driver-ops.c 	sdata = get_bss_sdata(sdata);
sdata             332 net/mac80211/driver-ops.c 	if (!check_sdata_in_driver(sdata))
sdata             335 net/mac80211/driver-ops.c 	trace_drv_ampdu_action(local, sdata, params);
sdata             338 net/mac80211/driver-ops.c 		ret = local->ops->ampdu_action(&local->hw, &sdata->vif, params);
sdata              15 net/mac80211/driver-ops.h static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata)
sdata              17 net/mac80211/driver-ops.h 	return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER),
sdata              19 net/mac80211/driver-ops.h 		     sdata->dev ? sdata->dev->name : sdata->name, sdata->flags);
sdata              23 net/mac80211/driver-ops.h get_bss_sdata(struct ieee80211_sub_if_data *sdata)
sdata              25 net/mac80211/driver-ops.h 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata              26 net/mac80211/driver-ops.h 		sdata = container_of(sdata->bss, struct ieee80211_sub_if_data,
sdata              29 net/mac80211/driver-ops.h 	return sdata;
sdata              43 net/mac80211/driver-ops.h 		trace_drv_sync_rx_queues(local, sta->sdata, &sta->sta);
sdata              49 net/mac80211/driver-ops.h static inline void drv_get_et_strings(struct ieee80211_sub_if_data *sdata,
sdata              52 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata              55 net/mac80211/driver-ops.h 		local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data);
sdata              60 net/mac80211/driver-ops.h static inline void drv_get_et_stats(struct ieee80211_sub_if_data *sdata,
sdata              64 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata              67 net/mac80211/driver-ops.h 		local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data);
sdata              72 net/mac80211/driver-ops.h static inline int drv_get_et_sset_count(struct ieee80211_sub_if_data *sdata,
sdata              75 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata              79 net/mac80211/driver-ops.h 		rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif,
sdata             130 net/mac80211/driver-ops.h 		      struct ieee80211_sub_if_data *sdata);
sdata             133 net/mac80211/driver-ops.h 			 struct ieee80211_sub_if_data *sdata,
sdata             137 net/mac80211/driver-ops.h 			  struct ieee80211_sub_if_data *sdata);
sdata             152 net/mac80211/driver-ops.h 					struct ieee80211_sub_if_data *sdata,
sdata             160 net/mac80211/driver-ops.h 			 sdata->vif.type != NL80211_IFTYPE_AP &&
sdata             161 net/mac80211/driver-ops.h 			 sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata             162 net/mac80211/driver-ops.h 			 sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
sdata             163 net/mac80211/driver-ops.h 			 sdata->vif.type != NL80211_IFTYPE_OCB))
sdata             166 net/mac80211/driver-ops.h 	if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE ||
sdata             167 net/mac80211/driver-ops.h 			 sdata->vif.type == NL80211_IFTYPE_NAN ||
sdata             168 net/mac80211/driver-ops.h 			 (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
sdata             169 net/mac80211/driver-ops.h 			  !sdata->vif.mu_mimo_owner &&
sdata             173 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             176 net/mac80211/driver-ops.h 	trace_drv_bss_info_changed(local, sdata, info, changed);
sdata             178 net/mac80211/driver-ops.h 		local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed);
sdata             212 net/mac80211/driver-ops.h 					   struct ieee80211_sub_if_data *sdata,
sdata             218 net/mac80211/driver-ops.h 	trace_drv_config_iface_filter(local, sdata, filter_flags,
sdata             221 net/mac80211/driver-ops.h 		local->ops->config_iface_filter(&local->hw, &sdata->vif,
sdata             240 net/mac80211/driver-ops.h 			      struct ieee80211_sub_if_data *sdata,
sdata             248 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             249 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             252 net/mac80211/driver-ops.h 	trace_drv_set_key(local, cmd, sdata, sta, key);
sdata             253 net/mac80211/driver-ops.h 	ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key);
sdata             259 net/mac80211/driver-ops.h 				       struct ieee80211_sub_if_data *sdata,
sdata             269 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             270 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             273 net/mac80211/driver-ops.h 	trace_drv_update_tkip_key(local, sdata, conf, ista, iv32);
sdata             275 net/mac80211/driver-ops.h 		local->ops->update_tkip_key(&local->hw, &sdata->vif, conf,
sdata             281 net/mac80211/driver-ops.h 			      struct ieee80211_sub_if_data *sdata,
sdata             288 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             291 net/mac80211/driver-ops.h 	trace_drv_hw_scan(local, sdata);
sdata             292 net/mac80211/driver-ops.h 	ret = local->ops->hw_scan(&local->hw, &sdata->vif, req);
sdata             298 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata)
sdata             302 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             305 net/mac80211/driver-ops.h 	trace_drv_cancel_hw_scan(local, sdata);
sdata             306 net/mac80211/driver-ops.h 	local->ops->cancel_hw_scan(&local->hw, &sdata->vif);
sdata             312 net/mac80211/driver-ops.h 		     struct ieee80211_sub_if_data *sdata,
sdata             320 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             323 net/mac80211/driver-ops.h 	trace_drv_sched_scan_start(local, sdata);
sdata             324 net/mac80211/driver-ops.h 	ret = local->ops->sched_scan_start(&local->hw, &sdata->vif,
sdata             331 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata)
sdata             337 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             340 net/mac80211/driver-ops.h 	trace_drv_sched_scan_stop(local, sdata);
sdata             341 net/mac80211/driver-ops.h 	ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif);
sdata             348 net/mac80211/driver-ops.h 				     struct ieee80211_sub_if_data *sdata,
sdata             353 net/mac80211/driver-ops.h 	trace_drv_sw_scan_start(local, sdata, mac_addr);
sdata             355 net/mac80211/driver-ops.h 		local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr);
sdata             360 net/mac80211/driver-ops.h 					struct ieee80211_sub_if_data *sdata)
sdata             364 net/mac80211/driver-ops.h 	trace_drv_sw_scan_complete(local, sdata);
sdata             366 net/mac80211/driver-ops.h 		local->ops->sw_scan_complete(&local->hw, &sdata->vif);
sdata             438 net/mac80211/driver-ops.h 				  struct ieee80211_sub_if_data *sdata,
sdata             442 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             443 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             446 net/mac80211/driver-ops.h 	trace_drv_sta_notify(local, sdata, cmd, sta);
sdata             448 net/mac80211/driver-ops.h 		local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta);
sdata             453 net/mac80211/driver-ops.h 			      struct ieee80211_sub_if_data *sdata,
sdata             460 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             461 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             464 net/mac80211/driver-ops.h 	trace_drv_sta_add(local, sdata, sta);
sdata             466 net/mac80211/driver-ops.h 		ret = local->ops->sta_add(&local->hw, &sdata->vif, sta);
sdata             474 net/mac80211/driver-ops.h 				  struct ieee80211_sub_if_data *sdata,
sdata             479 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             480 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             483 net/mac80211/driver-ops.h 	trace_drv_sta_remove(local, sdata, sta);
sdata             485 net/mac80211/driver-ops.h 		local->ops->sta_remove(&local->hw, &sdata->vif, sta);
sdata             492 net/mac80211/driver-ops.h 				       struct ieee80211_sub_if_data *sdata,
sdata             498 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             499 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             503 net/mac80211/driver-ops.h 		local->ops->sta_add_debugfs(&local->hw, &sdata->vif,
sdata             509 net/mac80211/driver-ops.h 					  struct ieee80211_sub_if_data *sdata,
sdata             514 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             515 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             518 net/mac80211/driver-ops.h 	trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta);
sdata             520 net/mac80211/driver-ops.h 		local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif,
sdata             527 net/mac80211/driver-ops.h 		  struct ieee80211_sub_if_data *sdata,
sdata             534 net/mac80211/driver-ops.h 		      struct ieee80211_sub_if_data *sdata,
sdata             538 net/mac80211/driver-ops.h 		       struct ieee80211_sub_if_data *sdata,
sdata             542 net/mac80211/driver-ops.h 					   struct ieee80211_sub_if_data *sdata,
sdata             545 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             546 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             549 net/mac80211/driver-ops.h 	trace_drv_sta_rate_tbl_update(local, sdata, sta);
sdata             551 net/mac80211/driver-ops.h 		local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta);
sdata             557 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata,
sdata             561 net/mac80211/driver-ops.h 	sdata = get_bss_sdata(sdata);
sdata             562 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             565 net/mac80211/driver-ops.h 	trace_drv_sta_statistics(local, sdata, sta);
sdata             567 net/mac80211/driver-ops.h 		local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo);
sdata             572 net/mac80211/driver-ops.h 		struct ieee80211_sub_if_data *sdata, u16 ac,
sdata             576 net/mac80211/driver-ops.h 		struct ieee80211_sub_if_data *sdata);
sdata             578 net/mac80211/driver-ops.h 		 struct ieee80211_sub_if_data *sdata,
sdata             581 net/mac80211/driver-ops.h 		    struct ieee80211_sub_if_data *sdata,
sdata             584 net/mac80211/driver-ops.h 		   struct ieee80211_sub_if_data *sdata);
sdata             600 net/mac80211/driver-ops.h 		     struct ieee80211_sub_if_data *sdata,
sdata             627 net/mac80211/driver-ops.h 			     struct ieee80211_sub_if_data *sdata,
sdata             630 net/mac80211/driver-ops.h 	struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL;
sdata             634 net/mac80211/driver-ops.h 	if (sdata && !check_sdata_in_driver(sdata))
sdata             644 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata,
sdata             649 net/mac80211/driver-ops.h 	trace_drv_channel_switch(local, sdata, ch_switch);
sdata             650 net/mac80211/driver-ops.h 	local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch);
sdata             678 net/mac80211/driver-ops.h 					struct ieee80211_sub_if_data *sdata,
sdata             687 net/mac80211/driver-ops.h 	trace_drv_remain_on_channel(local, sdata, chan, duration, type);
sdata             688 net/mac80211/driver-ops.h 	ret = local->ops->remain_on_channel(&local->hw, &sdata->vif,
sdata             697 net/mac80211/driver-ops.h 			     struct ieee80211_sub_if_data *sdata)
sdata             703 net/mac80211/driver-ops.h 	trace_drv_cancel_remain_on_channel(local, sdata);
sdata             704 net/mac80211/driver-ops.h 	ret = local->ops->cancel_remain_on_channel(&local->hw, &sdata->vif);
sdata             751 net/mac80211/driver-ops.h 				       struct ieee80211_sub_if_data *sdata,
sdata             758 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             761 net/mac80211/driver-ops.h 	trace_drv_set_bitrate_mask(local, sdata, mask);
sdata             764 net/mac80211/driver-ops.h 						   &sdata->vif, mask);
sdata             771 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata,
sdata             774 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             777 net/mac80211/driver-ops.h 	trace_drv_set_rekey_data(local, sdata, data);
sdata             779 net/mac80211/driver-ops.h 		local->ops->set_rekey_data(&local->hw, &sdata->vif, data);
sdata             784 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata,
sdata             787 net/mac80211/driver-ops.h 	trace_drv_event_callback(local, sdata, event);
sdata             789 net/mac80211/driver-ops.h 		local->ops->event_callback(&local->hw, &sdata->vif, event);
sdata             824 net/mac80211/driver-ops.h 				      struct ieee80211_sub_if_data *sdata,
sdata             829 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             831 net/mac80211/driver-ops.h 	WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION);
sdata             833 net/mac80211/driver-ops.h 	trace_drv_mgd_prepare_tx(local, sdata, duration);
sdata             835 net/mac80211/driver-ops.h 		local->ops->mgd_prepare_tx(&local->hw, &sdata->vif, duration);
sdata             841 net/mac80211/driver-ops.h 			      struct ieee80211_sub_if_data *sdata)
sdata             845 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             847 net/mac80211/driver-ops.h 	WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION);
sdata             849 net/mac80211/driver-ops.h 	trace_drv_mgd_protect_tdls_discover(local, sdata);
sdata             851 net/mac80211/driver-ops.h 		local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif);
sdata             902 net/mac80211/driver-ops.h 					 struct ieee80211_sub_if_data *sdata,
sdata             907 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             910 net/mac80211/driver-ops.h 	trace_drv_assign_vif_chanctx(local, sdata, ctx);
sdata             914 net/mac80211/driver-ops.h 						     &sdata->vif,
sdata             923 net/mac80211/driver-ops.h 					    struct ieee80211_sub_if_data *sdata,
sdata             928 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             931 net/mac80211/driver-ops.h 	trace_drv_unassign_vif_chanctx(local, sdata, ctx);
sdata             935 net/mac80211/driver-ops.h 						 &sdata->vif,
sdata             946 net/mac80211/driver-ops.h 			       struct ieee80211_sub_if_data *sdata)
sdata             952 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             955 net/mac80211/driver-ops.h 	trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf);
sdata             957 net/mac80211/driver-ops.h 		ret = local->ops->start_ap(&local->hw, &sdata->vif);
sdata             963 net/mac80211/driver-ops.h 			       struct ieee80211_sub_if_data *sdata)
sdata             965 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             968 net/mac80211/driver-ops.h 	trace_drv_stop_ap(local, sdata);
sdata             970 net/mac80211/driver-ops.h 		local->ops->stop_ap(&local->hw, &sdata->vif);
sdata             988 net/mac80211/driver-ops.h 			    struct ieee80211_sub_if_data *sdata,
sdata             991 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata             996 net/mac80211/driver-ops.h 	trace_drv_set_default_unicast_key(local, sdata, key_idx);
sdata             998 net/mac80211/driver-ops.h 		local->ops->set_default_unicast_key(&local->hw, &sdata->vif,
sdata            1005 net/mac80211/driver-ops.h 					struct ieee80211_sub_if_data *sdata,
sdata            1008 net/mac80211/driver-ops.h 	trace_drv_ipv6_addr_change(local, sdata);
sdata            1010 net/mac80211/driver-ops.h 		local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev);
sdata            1016 net/mac80211/driver-ops.h drv_channel_switch_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1019 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata            1022 net/mac80211/driver-ops.h 		trace_drv_channel_switch_beacon(local, sdata, chandef);
sdata            1023 net/mac80211/driver-ops.h 		local->ops->channel_switch_beacon(&local->hw, &sdata->vif,
sdata            1029 net/mac80211/driver-ops.h drv_pre_channel_switch(struct ieee80211_sub_if_data *sdata,
sdata            1032 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata            1035 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1038 net/mac80211/driver-ops.h 	trace_drv_pre_channel_switch(local, sdata, ch_switch);
sdata            1040 net/mac80211/driver-ops.h 		ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif,
sdata            1047 net/mac80211/driver-ops.h drv_post_channel_switch(struct ieee80211_sub_if_data *sdata)
sdata            1049 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata            1052 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1055 net/mac80211/driver-ops.h 	trace_drv_post_channel_switch(local, sdata);
sdata            1057 net/mac80211/driver-ops.h 		ret = local->ops->post_channel_switch(&local->hw, &sdata->vif);
sdata            1063 net/mac80211/driver-ops.h drv_abort_channel_switch(struct ieee80211_sub_if_data *sdata)
sdata            1065 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata            1067 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1070 net/mac80211/driver-ops.h 	trace_drv_abort_channel_switch(local, sdata);
sdata            1073 net/mac80211/driver-ops.h 		local->ops->abort_channel_switch(&local->hw, &sdata->vif);
sdata            1077 net/mac80211/driver-ops.h drv_channel_switch_rx_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1080 net/mac80211/driver-ops.h 	struct ieee80211_local *local = sdata->local;
sdata            1082 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1085 net/mac80211/driver-ops.h 	trace_drv_channel_switch_rx_beacon(local, sdata, ch_switch);
sdata            1087 net/mac80211/driver-ops.h 		local->ops->channel_switch_rx_beacon(&local->hw, &sdata->vif,
sdata            1092 net/mac80211/driver-ops.h 				struct ieee80211_sub_if_data *sdata)
sdata            1097 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1100 net/mac80211/driver-ops.h 	trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf);
sdata            1102 net/mac80211/driver-ops.h 		ret = local->ops->join_ibss(&local->hw, &sdata->vif);
sdata            1108 net/mac80211/driver-ops.h 				  struct ieee80211_sub_if_data *sdata)
sdata            1111 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1114 net/mac80211/driver-ops.h 	trace_drv_leave_ibss(local, sdata);
sdata            1116 net/mac80211/driver-ops.h 		local->ops->leave_ibss(&local->hw, &sdata->vif);
sdata            1134 net/mac80211/driver-ops.h 				  struct ieee80211_sub_if_data *sdata, int *dbm)
sdata            1141 net/mac80211/driver-ops.h 	ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm);
sdata            1142 net/mac80211/driver-ops.h 	trace_drv_get_txpower(local, sdata, *dbm, ret);
sdata            1149 net/mac80211/driver-ops.h 			struct ieee80211_sub_if_data *sdata,
sdata            1157 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1163 net/mac80211/driver-ops.h 	trace_drv_tdls_channel_switch(local, sdata, sta, oper_class, chandef);
sdata            1164 net/mac80211/driver-ops.h 	ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta,
sdata            1173 net/mac80211/driver-ops.h 			       struct ieee80211_sub_if_data *sdata,
sdata            1177 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1183 net/mac80211/driver-ops.h 	trace_drv_tdls_cancel_channel_switch(local, sdata, sta);
sdata            1184 net/mac80211/driver-ops.h 	local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta);
sdata            1190 net/mac80211/driver-ops.h 			     struct ieee80211_sub_if_data *sdata,
sdata            1193 net/mac80211/driver-ops.h 	trace_drv_tdls_recv_channel_switch(local, sdata, params);
sdata            1195 net/mac80211/driver-ops.h 		local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif,
sdata            1203 net/mac80211/driver-ops.h 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif);
sdata            1208 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1211 net/mac80211/driver-ops.h 	trace_drv_wake_tx_queue(local, sdata, txq);
sdata            1234 net/mac80211/driver-ops.h 			    struct ieee80211_sub_if_data *sdata,
sdata            1241 net/mac80211/driver-ops.h 							 &sdata->vif,
sdata            1243 net/mac80211/driver-ops.h 	trace_drv_get_ftm_responder_stats(local, sdata, ftm_stats);
sdata            1249 net/mac80211/driver-ops.h 				 struct ieee80211_sub_if_data *sdata,
sdata            1255 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1258 net/mac80211/driver-ops.h 	trace_drv_start_pmsr(local, sdata);
sdata            1261 net/mac80211/driver-ops.h 		ret = local->ops->start_pmsr(&local->hw, &sdata->vif, request);
sdata            1268 net/mac80211/driver-ops.h 				  struct ieee80211_sub_if_data *sdata,
sdata            1271 net/mac80211/driver-ops.h 	trace_drv_abort_pmsr(local, sdata);
sdata            1274 net/mac80211/driver-ops.h 	if (!check_sdata_in_driver(sdata))
sdata            1278 net/mac80211/driver-ops.h 		local->ops->abort_pmsr(&local->hw, &sdata->vif, request);
sdata            1283 net/mac80211/driver-ops.h 				struct ieee80211_sub_if_data *sdata,
sdata            1289 net/mac80211/driver-ops.h 	check_sdata_in_driver(sdata);
sdata            1291 net/mac80211/driver-ops.h 	trace_drv_start_nan(local, sdata, conf);
sdata            1292 net/mac80211/driver-ops.h 	ret = local->ops->start_nan(&local->hw, &sdata->vif, conf);
sdata            1298 net/mac80211/driver-ops.h 				struct ieee80211_sub_if_data *sdata)
sdata            1301 net/mac80211/driver-ops.h 	check_sdata_in_driver(sdata);
sdata            1303 net/mac80211/driver-ops.h 	trace_drv_stop_nan(local, sdata);
sdata            1304 net/mac80211/driver-ops.h 	local->ops->stop_nan(&local->hw, &sdata->vif);
sdata            1309 net/mac80211/driver-ops.h 				       struct ieee80211_sub_if_data *sdata,
sdata            1316 net/mac80211/driver-ops.h 	check_sdata_in_driver(sdata);
sdata            1321 net/mac80211/driver-ops.h 	trace_drv_nan_change_conf(local, sdata, conf, changes);
sdata            1322 net/mac80211/driver-ops.h 	ret = local->ops->nan_change_conf(&local->hw, &sdata->vif, conf,
sdata            1330 net/mac80211/driver-ops.h 				   struct ieee80211_sub_if_data *sdata,
sdata            1336 net/mac80211/driver-ops.h 	check_sdata_in_driver(sdata);
sdata            1341 net/mac80211/driver-ops.h 	trace_drv_add_nan_func(local, sdata, nan_func);
sdata            1342 net/mac80211/driver-ops.h 	ret = local->ops->add_nan_func(&local->hw, &sdata->vif, nan_func);
sdata            1349 net/mac80211/driver-ops.h 				   struct ieee80211_sub_if_data *sdata,
sdata            1353 net/mac80211/driver-ops.h 	check_sdata_in_driver(sdata);
sdata            1355 net/mac80211/driver-ops.h 	trace_drv_del_nan_func(local, sdata, instance_id);
sdata            1357 net/mac80211/driver-ops.h 		local->ops->del_nan_func(&local->hw, &sdata->vif, instance_id);
sdata              51 net/mac80211/ethtool.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata              57 net/mac80211/ethtool.c 	rv += drv_get_et_sset_count(sdata, sset);
sdata              68 net/mac80211/ethtool.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata              72 net/mac80211/ethtool.c 	struct ieee80211_local *local = sdata->local;
sdata             103 net/mac80211/ethtool.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata             104 net/mac80211/ethtool.c 		sta = sta_info_get_bss(sdata, sdata->u.mgd.bssid);
sdata             106 net/mac80211/ethtool.c 		if (!(sta && !WARN_ON(sta->sdata->dev != dev)))
sdata             133 net/mac80211/ethtool.c 			if (sta->sdata->dev != dev)
sdata             149 net/mac80211/ethtool.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             202 net/mac80211/ethtool.c 	drv_get_et_stats(sdata, stats, &(data[STA_STATS_LEN]));
sdata             207 net/mac80211/ethtool.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             214 net/mac80211/ethtool.c 	drv_get_et_strings(sdata, sset, &(data[sz_sta_stats]));
sdata             267 net/mac80211/fils_aead.c int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata,
sdata             286 net/mac80211/fils_aead.c 		mlme_dbg(sdata,
sdata             316 net/mac80211/fils_aead.c 		mlme_dbg(sdata,
sdata             324 net/mac80211/fils_aead.c 		mlme_dbg(sdata,
sdata              12 net/mac80211/fils_aead.h int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata,
sdata              11 net/mac80211/he.c ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata,
sdata              44 net/mac80211/ht.c void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
sdata              54 net/mac80211/ht.c 	switch (sdata->vif.type) {
sdata              56 net/mac80211/ht.c 		ht_capa = &sdata->u.mgd.ht_capa;
sdata              57 net/mac80211/ht.c 		ht_capa_mask = &sdata->u.mgd.ht_capa_mask;
sdata              60 net/mac80211/ht.c 		ht_capa = &sdata->u.ibss.ht_capa;
sdata              61 net/mac80211/ht.c 		ht_capa_mask = &sdata->u.ibss.ht_capa_mask;
sdata             137 net/mac80211/ht.c bool ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_sub_if_data *sdata,
sdata             164 net/mac80211/ht.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION ||
sdata             165 net/mac80211/ht.c 	    sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata             166 net/mac80211/ht.c 		ieee80211_apply_htcap_overrides(sdata, &own_cap);
sdata             250 net/mac80211/ht.c 	switch (sdata->vif.bss_conf.chandef.width) {
sdata             408 net/mac80211/ht.c void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
sdata             412 net/mac80211/ht.c 	struct ieee80211_local *local = sdata->local;
sdata             424 net/mac80211/ht.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             425 net/mac80211/ht.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             426 net/mac80211/ht.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata             427 net/mac80211/ht.c 	    sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
sdata             428 net/mac80211/ht.c 		memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             429 net/mac80211/ht.c 	else if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata             430 net/mac80211/ht.c 		memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata             431 net/mac80211/ht.c 	else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata             432 net/mac80211/ht.c 		memcpy(mgmt->bssid, sdata->u.ibss.bssid, ETH_ALEN);
sdata             447 net/mac80211/ht.c 	ieee80211_tx_skb(sdata, skb);
sdata             450 net/mac80211/ht.c void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
sdata             461 net/mac80211/ht.c 	ht_dbg_ratelimited(sdata, "delba from %pM (%s) tid %d reason code %d\n",
sdata             488 net/mac80211/ht.c int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata,
sdata             492 net/mac80211/ht.c 	struct ieee80211_local *local = sdata->local;
sdata             504 net/mac80211/ht.c 	memcpy(action_frame->sa, sdata->dev->dev_addr, ETH_ALEN);
sdata             531 net/mac80211/ht.c 	ieee80211_tx_skb(sdata, skb);
sdata             538 net/mac80211/ht.c 	struct ieee80211_sub_if_data *sdata =
sdata             542 net/mac80211/ht.c 	sdata_lock(sdata);
sdata             543 net/mac80211/ht.c 	__ieee80211_request_smps_mgd(sdata, sdata->u.mgd.driver_smps_mode);
sdata             544 net/mac80211/ht.c 	sdata_unlock(sdata);
sdata             549 net/mac80211/ht.c 	struct ieee80211_sub_if_data *sdata =
sdata             553 net/mac80211/ht.c 	sdata_lock(sdata);
sdata             554 net/mac80211/ht.c 	if (sdata_dereference(sdata->u.ap.beacon, sdata))
sdata             555 net/mac80211/ht.c 		__ieee80211_request_smps_ap(sdata,
sdata             556 net/mac80211/ht.c 					    sdata->u.ap.driver_smps_mode);
sdata             557 net/mac80211/ht.c 	sdata_unlock(sdata);
sdata             563 net/mac80211/ht.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             570 net/mac80211/ht.c 		if (sdata->u.mgd.driver_smps_mode == smps_mode)
sdata             572 net/mac80211/ht.c 		sdata->u.mgd.driver_smps_mode = smps_mode;
sdata             573 net/mac80211/ht.c 		ieee80211_queue_work(&sdata->local->hw,
sdata             574 net/mac80211/ht.c 				     &sdata->u.mgd.request_smps_work);
sdata             579 net/mac80211/ht.c 		if (sdata->u.ap.driver_smps_mode == smps_mode)
sdata             581 net/mac80211/ht.c 		sdata->u.ap.driver_smps_mode = smps_mode;
sdata             582 net/mac80211/ht.c 		ieee80211_queue_work(&sdata->local->hw,
sdata             583 net/mac80211/ht.c 				     &sdata->u.ap.request_smps_work);
sdata              38 net/mac80211/ibss.c ieee80211_ibss_build_presp(struct ieee80211_sub_if_data *sdata,
sdata              45 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata              46 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata              80 net/mac80211/ibss.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             183 net/mac80211/ibss.c 		ieee80211_apply_htcap_overrides(sdata, &ht_cap);
sdata             218 net/mac80211/ibss.c static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
sdata             225 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             226 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata             238 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             241 net/mac80211/ibss.c 	drv_reset_tsf(local, sdata);
sdata             244 net/mac80211/ibss.c 		sta_info_flush(sdata);
sdata             247 net/mac80211/ibss.c 	if (sdata->vif.bss_conf.ibss_joined) {
sdata             248 net/mac80211/ibss.c 		sdata->vif.bss_conf.ibss_joined = false;
sdata             249 net/mac80211/ibss.c 		sdata->vif.bss_conf.ibss_creator = false;
sdata             250 net/mac80211/ibss.c 		sdata->vif.bss_conf.enable_beacon = false;
sdata             251 net/mac80211/ibss.c 		netif_carrier_off(sdata->dev);
sdata             252 net/mac80211/ibss.c 		ieee80211_bss_info_change_notify(sdata,
sdata             255 net/mac80211/ibss.c 		drv_leave_ibss(local, sdata);
sdata             259 net/mac80211/ibss.c 					  lockdep_is_held(&sdata->wdev.mtx));
sdata             273 net/mac80211/ibss.c 			sdata_info(sdata,
sdata             282 net/mac80211/ibss.c 			sdata_info(sdata,
sdata             288 net/mac80211/ibss.c 	err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy,
sdata             291 net/mac80211/ibss.c 		sdata_info(sdata,
sdata             296 net/mac80211/ibss.c 		sdata_info(sdata,
sdata             304 net/mac80211/ibss.c 	if (ieee80211_vif_use_channel(sdata, &chandef,
sdata             308 net/mac80211/ibss.c 		sdata_info(sdata, "Failed to join IBSS, no channel context\n");
sdata             312 net/mac80211/ibss.c 	sdata->radar_required = radar_required;
sdata             317 net/mac80211/ibss.c 	presp = ieee80211_ibss_build_presp(sdata, beacon_int, basic_rates,
sdata             326 net/mac80211/ibss.c 	sdata->vif.bss_conf.enable_beacon = true;
sdata             327 net/mac80211/ibss.c 	sdata->vif.bss_conf.beacon_int = beacon_int;
sdata             328 net/mac80211/ibss.c 	sdata->vif.bss_conf.basic_rates = basic_rates;
sdata             329 net/mac80211/ibss.c 	sdata->vif.bss_conf.ssid_len = ifibss->ssid_len;
sdata             330 net/mac80211/ibss.c 	memcpy(sdata->vif.bss_conf.ssid, ifibss->ssid, ifibss->ssid_len);
sdata             332 net/mac80211/ibss.c 	bss_change |= ieee80211_reset_erp_info(sdata);
sdata             351 net/mac80211/ibss.c 	sdata->vif.bss_conf.use_short_slot = chan->band == NL80211_BAND_5GHZ;
sdata             356 net/mac80211/ibss.c 		sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
sdata             358 net/mac80211/ibss.c 		sdata->flags &= ~IEEE80211_SDATA_OPERATING_GMODE;
sdata             360 net/mac80211/ibss.c 	ieee80211_set_wmm_default(sdata, true, false);
sdata             362 net/mac80211/ibss.c 	sdata->vif.bss_conf.ibss_joined = true;
sdata             363 net/mac80211/ibss.c 	sdata->vif.bss_conf.ibss_creator = creator;
sdata             365 net/mac80211/ibss.c 	err = drv_join_ibss(local, sdata);
sdata             367 net/mac80211/ibss.c 		sdata->vif.bss_conf.ibss_joined = false;
sdata             368 net/mac80211/ibss.c 		sdata->vif.bss_conf.ibss_creator = false;
sdata             369 net/mac80211/ibss.c 		sdata->vif.bss_conf.enable_beacon = false;
sdata             370 net/mac80211/ibss.c 		sdata->vif.bss_conf.ssid_len = 0;
sdata             374 net/mac80211/ibss.c 		ieee80211_vif_release_channel(sdata);
sdata             376 net/mac80211/ibss.c 		sdata_info(sdata, "Failed to join IBSS, driver failure: %d\n",
sdata             381 net/mac80211/ibss.c 	ieee80211_bss_info_change_notify(sdata, bss_change);
sdata             393 net/mac80211/ibss.c 	netif_carrier_on(sdata->dev);
sdata             394 net/mac80211/ibss.c 	cfg80211_ibss_joined(sdata->dev, ifibss->bssid, chan, GFP_KERNEL);
sdata             397 net/mac80211/ibss.c static void ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
sdata             413 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             418 net/mac80211/ibss.c 	switch (sdata->u.ibss.chandef.width) {
sdata             422 net/mac80211/ibss.c 		chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef);
sdata             429 net/mac80211/ibss.c 		chandef.width = sdata->u.ibss.chandef.width;
sdata             434 net/mac80211/ibss.c 		chandef = sdata->u.ibss.chandef;
sdata             444 net/mac80211/ibss.c 	sband = sdata->local->hw.wiphy->bands[cbss->channel->band];
sdata             445 net/mac80211/ibss.c 	rate_flags = ieee80211_chandef_rate_flags(&sdata->u.ibss.chandef);
sdata             446 net/mac80211/ibss.c 	shift = ieee80211_vif_get_shift(&sdata->vif);
sdata             475 net/mac80211/ibss.c 	__ieee80211_sta_join_ibss(sdata, cbss->bssid,
sdata             483 net/mac80211/ibss.c int ieee80211_ibss_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata             486 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             494 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             499 net/mac80211/ibss.c 	cbss = cfg80211_get_bss(sdata->local->hw.wiphy, ifibss->chandef.chan,
sdata             513 net/mac80211/ibss.c 	cfg80211_put_bss(sdata->local->hw.wiphy, cbss);
sdata             516 net/mac80211/ibss.c 					  lockdep_is_held(&sdata->wdev.mtx));
sdata             518 net/mac80211/ibss.c 	presp = ieee80211_ibss_build_presp(sdata,
sdata             519 net/mac80211/ibss.c 					   sdata->vif.bss_conf.beacon_int,
sdata             520 net/mac80211/ibss.c 					   sdata->vif.bss_conf.basic_rates,
sdata             537 net/mac80211/ibss.c int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata)
sdata             539 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             543 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             547 net/mac80211/ibss.c 		cbss = cfg80211_get_bss(sdata->local->hw.wiphy,
sdata             555 net/mac80211/ibss.c 			cbss->channel = sdata->csa_chandef.chan;
sdata             556 net/mac80211/ibss.c 			cfg80211_put_bss(sdata->local->hw.wiphy, cbss);
sdata             560 net/mac80211/ibss.c 	ifibss->chandef = sdata->csa_chandef;
sdata             563 net/mac80211/ibss.c 	err = ieee80211_ibss_csa_beacon(sdata, NULL);
sdata             572 net/mac80211/ibss.c void ieee80211_ibss_stop(struct ieee80211_sub_if_data *sdata)
sdata             574 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             582 net/mac80211/ibss.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             587 net/mac80211/ibss.c 	ibss_dbg(sdata, "Adding new IBSS station %pM\n", addr);
sdata             593 net/mac80211/ibss.c 	if (!sta->sdata->u.ibss.control_port)
sdata             600 net/mac80211/ibss.c 		return sta_info_get(sdata, addr);
sdata             605 net/mac80211/ibss.c ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, const u8 *bssid,
sdata             609 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             610 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata             623 net/mac80211/ibss.c 				    sdata->name, addr);
sdata             633 net/mac80211/ibss.c 	if (!ether_addr_equal(bssid, sdata->u.ibss.bssid)) {
sdata             639 net/mac80211/ibss.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             646 net/mac80211/ibss.c 	sta = sta_info_alloc(sdata, addr, GFP_KERNEL);
sdata             660 net/mac80211/ibss.c static int ieee80211_sta_active_ibss(struct ieee80211_sub_if_data *sdata)
sdata             662 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata             666 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             673 net/mac80211/ibss.c 		if (sta->sdata == sdata &&
sdata             686 net/mac80211/ibss.c static void ieee80211_ibss_disconnect(struct ieee80211_sub_if_data *sdata)
sdata             688 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             689 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata             703 net/mac80211/ibss.c 			cfg80211_put_bss(sdata->local->hw.wiphy, cbss);
sdata             709 net/mac80211/ibss.c 	sta_info_flush(sdata);
sdata             723 net/mac80211/ibss.c 	netif_carrier_off(sdata->dev);
sdata             725 net/mac80211/ibss.c 	sdata->vif.bss_conf.ibss_joined = false;
sdata             726 net/mac80211/ibss.c 	sdata->vif.bss_conf.ibss_creator = false;
sdata             727 net/mac80211/ibss.c 	sdata->vif.bss_conf.enable_beacon = false;
sdata             728 net/mac80211/ibss.c 	sdata->vif.bss_conf.ssid_len = 0;
sdata             732 net/mac80211/ibss.c 					  lockdep_is_held(&sdata->wdev.mtx));
sdata             733 net/mac80211/ibss.c 	RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
sdata             737 net/mac80211/ibss.c 	clear_bit(SDATA_STATE_OFFCHANNEL_BEACON_STOPPED, &sdata->state);
sdata             738 net/mac80211/ibss.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED |
sdata             740 net/mac80211/ibss.c 	drv_leave_ibss(local, sdata);
sdata             742 net/mac80211/ibss.c 	ieee80211_vif_release_channel(sdata);
sdata             748 net/mac80211/ibss.c 	struct ieee80211_sub_if_data *sdata =
sdata             752 net/mac80211/ibss.c 	sdata_lock(sdata);
sdata             754 net/mac80211/ibss.c 	ieee80211_ibss_disconnect(sdata);
sdata             756 net/mac80211/ibss.c 	skb_queue_purge(&sdata->skb_queue);
sdata             759 net/mac80211/ibss.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             761 net/mac80211/ibss.c 	sdata_unlock(sdata);
sdata             764 net/mac80211/ibss.c static void ieee80211_ibss_csa_mark_radar(struct ieee80211_sub_if_data *sdata)
sdata             766 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             772 net/mac80211/ibss.c 	err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy,
sdata             776 net/mac80211/ibss.c 		cfg80211_radar_event(sdata->local->hw.wiphy, &ifibss->chandef,
sdata             781 net/mac80211/ibss.c ieee80211_ibss_process_chanswitch(struct ieee80211_sub_if_data *sdata,
sdata             787 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata             792 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             809 net/mac80211/ibss.c 	err = ieee80211_parse_ch_switch_ie(sdata, elems,
sdata             821 net/mac80211/ibss.c 	if (!(sdata->local->hw.wiphy->flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH))
sdata             843 net/mac80211/ibss.c 			sdata_info(sdata,
sdata             859 net/mac80211/ibss.c 	if (!cfg80211_reg_can_beacon(sdata->local->hw.wiphy, &params.chandef,
sdata             861 net/mac80211/ibss.c 		sdata_info(sdata,
sdata             871 net/mac80211/ibss.c 	err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy,
sdata             884 net/mac80211/ibss.c 				       &sdata->vif.bss_conf.chandef)) {
sdata             885 net/mac80211/ibss.c 		ibss_dbg(sdata,
sdata             891 net/mac80211/ibss.c 	ibss_dbg(sdata,
sdata             897 net/mac80211/ibss.c 	if (ieee80211_channel_switch(sdata->local->hw.wiphy, sdata->dev,
sdata             901 net/mac80211/ibss.c 	ieee80211_ibss_csa_mark_radar(sdata);
sdata             905 net/mac80211/ibss.c 	ibss_dbg(sdata, "Can't handle channel switch, disconnect\n");
sdata             906 net/mac80211/ibss.c 	ieee80211_queue_work(&sdata->local->hw,
sdata             909 net/mac80211/ibss.c 	ieee80211_ibss_csa_mark_radar(sdata);
sdata             915 net/mac80211/ibss.c ieee80211_rx_mgmt_spectrum_mgmt(struct ieee80211_sub_if_data *sdata,
sdata             935 net/mac80211/ibss.c 	if (!sdata->vif.csa_active)
sdata             936 net/mac80211/ibss.c 		ieee80211_ibss_process_chanswitch(sdata, elems, false);
sdata             939 net/mac80211/ibss.c static void ieee80211_rx_mgmt_deauth_ibss(struct ieee80211_sub_if_data *sdata,
sdata             948 net/mac80211/ibss.c 	ibss_dbg(sdata, "RX DeAuth SA=%pM DA=%pM\n", mgmt->sa, mgmt->da);
sdata             949 net/mac80211/ibss.c 	ibss_dbg(sdata, "\tBSSID=%pM (reason: %d)\n", mgmt->bssid, reason);
sdata             950 net/mac80211/ibss.c 	sta_info_destroy_addr(sdata, mgmt->sa);
sdata             953 net/mac80211/ibss.c static void ieee80211_rx_mgmt_auth_ibss(struct ieee80211_sub_if_data *sdata,
sdata             959 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata             967 net/mac80211/ibss.c 	ibss_dbg(sdata, "RX Auth SA=%pM DA=%pM\n", mgmt->sa, mgmt->da);
sdata             968 net/mac80211/ibss.c 	ibss_dbg(sdata, "\tBSSID=%pM (auth_transaction=%d)\n",
sdata             980 net/mac80211/ibss.c 	ieee80211_send_auth(sdata, 2, WLAN_AUTH_OPEN, 0, NULL, 0,
sdata             981 net/mac80211/ibss.c 			    mgmt->sa, sdata->u.ibss.bssid, NULL, 0, 0, 0);
sdata             984 net/mac80211/ibss.c static void ieee80211_update_sta_info(struct ieee80211_sub_if_data *sdata,
sdata             993 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata             998 net/mac80211/ibss.c 	if (sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            1001 net/mac80211/ibss.c 	if (!ether_addr_equal(mgmt->bssid, sdata->u.ibss.bssid))
sdata            1009 net/mac80211/ibss.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata            1012 net/mac80211/ibss.c 		supp_rates = ieee80211_sta_get_rates(sdata, elems,
sdata            1028 net/mac80211/ibss.c 				ibss_dbg(sdata,
sdata            1036 net/mac80211/ibss.c 			sta = ieee80211_ibss_add_sta(sdata, mgmt->bssid,
sdata            1048 net/mac80211/ibss.c 	    sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_20_NOHT &&
sdata            1049 net/mac80211/ibss.c 	    sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_5 &&
sdata            1050 net/mac80211/ibss.c 	    sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_10) {
sdata            1060 net/mac80211/ibss.c 		rates_updated |= ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
sdata            1065 net/mac80211/ibss.c 		    sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_20 &&
sdata            1066 net/mac80211/ibss.c 		    sdata->u.ibss.chandef.width != NL80211_CHAN_WIDTH_40) {
sdata            1076 net/mac80211/ibss.c 			ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
sdata            1085 net/mac80211/ibss.c 		if (!cfg80211_chandef_compatible(&sdata->u.ibss.chandef,
sdata            1100 net/mac80211/ibss.c 		drv_sta_rc_update(local, sdata, &sta->sta, changed);
sdata            1106 net/mac80211/ibss.c static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
sdata            1111 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1123 net/mac80211/ibss.c 	ieee80211_update_sta_info(sdata, mgmt, len, rx_status, elems, channel);
sdata            1141 net/mac80211/ibss.c 	if (sdata->u.ibss.fixed_channel &&
sdata            1142 net/mac80211/ibss.c 	    sdata->u.ibss.chandef.chan != cbss->channel)
sdata            1146 net/mac80211/ibss.c 	if (elems->ssid_len != sdata->u.ibss.ssid_len ||
sdata            1147 net/mac80211/ibss.c 	    memcmp(elems->ssid, sdata->u.ibss.ssid,
sdata            1148 net/mac80211/ibss.c 				sdata->u.ibss.ssid_len))
sdata            1152 net/mac80211/ibss.c 	if (sdata->vif.csa_active ||
sdata            1153 net/mac80211/ibss.c 	    ieee80211_ibss_process_chanswitch(sdata, elems, true))
sdata            1157 net/mac80211/ibss.c 	if (ether_addr_equal(cbss->bssid, sdata->u.ibss.bssid))
sdata            1161 net/mac80211/ibss.c 	if (sdata->u.ibss.fixed_bssid)
sdata            1174 net/mac80211/ibss.c 		rx_timestamp = drv_get_tsf(local, sdata);
sdata            1177 net/mac80211/ibss.c 	ibss_dbg(sdata, "RX beacon SA=%pM BSSID=%pM TSF=0x%llx\n",
sdata            1180 net/mac80211/ibss.c 	ibss_dbg(sdata, "\tBCN=0x%llx diff=%lld @%lu\n",
sdata            1186 net/mac80211/ibss.c 		ibss_dbg(sdata,
sdata            1189 net/mac80211/ibss.c 		ieee80211_sta_join_ibss(sdata, bss);
sdata            1190 net/mac80211/ibss.c 		supp_rates = ieee80211_sta_get_rates(sdata, elems, band, NULL);
sdata            1191 net/mac80211/ibss.c 		ieee80211_ibss_add_sta(sdata, mgmt->bssid, mgmt->sa,
sdata            1200 net/mac80211/ibss.c void ieee80211_ibss_rx_no_sta(struct ieee80211_sub_if_data *sdata,
sdata            1204 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1205 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1218 net/mac80211/ibss.c 				    sdata->name, addr);
sdata            1225 net/mac80211/ibss.c 	if (!ether_addr_equal(bssid, sdata->u.ibss.bssid))
sdata            1229 net/mac80211/ibss.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1238 net/mac80211/ibss.c 	sta = sta_info_alloc(sdata, addr, GFP_ATOMIC);
sdata            1250 net/mac80211/ibss.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata            1253 net/mac80211/ibss.c static void ieee80211_ibss_sta_expire(struct ieee80211_sub_if_data *sdata)
sdata            1255 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1256 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1266 net/mac80211/ibss.c 		if (sdata != sta->sdata)
sdata            1274 net/mac80211/ibss.c 			sta_dbg(sta->sdata, "expiring inactive %sSTA %pM\n",
sdata            1278 net/mac80211/ibss.c 			ieee80211_send_deauth_disassoc(sdata, sta->sta.addr,
sdata            1294 net/mac80211/ibss.c static void ieee80211_sta_merge_ibss(struct ieee80211_sub_if_data *sdata)
sdata            1296 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1299 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata            1304 net/mac80211/ibss.c 	ieee80211_ibss_sta_expire(sdata);
sdata            1310 net/mac80211/ibss.c 	if (ieee80211_sta_active_ibss(sdata))
sdata            1316 net/mac80211/ibss.c 	sdata_info(sdata,
sdata            1320 net/mac80211/ibss.c 	ieee80211_request_ibss_scan(sdata, ifibss->ssid, ifibss->ssid_len,
sdata            1324 net/mac80211/ibss.c static void ieee80211_sta_create_ibss(struct ieee80211_sub_if_data *sdata)
sdata            1326 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1331 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata            1341 net/mac80211/ibss.c 			bssid[i] ^= sdata->vif.addr[i];
sdata            1346 net/mac80211/ibss.c 	sdata_info(sdata, "Creating new IBSS network, BSSID %pM\n", bssid);
sdata            1353 net/mac80211/ibss.c 	__ieee80211_sta_join_ibss(sdata, bssid, sdata->vif.bss_conf.beacon_int,
sdata            1432 net/mac80211/ibss.c static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
sdata            1434 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1435 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1442 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata            1444 net/mac80211/ibss.c 	active_ibss = ieee80211_sta_active_ibss(sdata);
sdata            1445 net/mac80211/ibss.c 	ibss_dbg(sdata, "sta_find_ibss (active_ibss=%d)\n", active_ibss);
sdata            1465 net/mac80211/ibss.c 		ibss_dbg(sdata,
sdata            1468 net/mac80211/ibss.c 		sdata_info(sdata,
sdata            1472 net/mac80211/ibss.c 		ieee80211_sta_join_ibss(sdata, bss);
sdata            1481 net/mac80211/ibss.c 		sdata_info(sdata, "Created IBSS using preconfigured BSSID %pM\n",
sdata            1483 net/mac80211/ibss.c 		ieee80211_sta_create_ibss(sdata);
sdata            1488 net/mac80211/ibss.c 	ibss_dbg(sdata, "sta_find_ibss: did not try to join ibss\n");
sdata            1496 net/mac80211/ibss.c 		sdata_info(sdata, "Trigger new scan to find an IBSS to join\n");
sdata            1505 net/mac80211/ibss.c 			ieee80211_request_ibss_scan(sdata, ifibss->ssid,
sdata            1509 net/mac80211/ibss.c 			ieee80211_request_ibss_scan(sdata, ifibss->ssid,
sdata            1518 net/mac80211/ibss.c 			ieee80211_sta_create_ibss(sdata);
sdata            1525 net/mac80211/ibss.c static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata,
sdata            1529 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1530 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1536 net/mac80211/ibss.c 	sdata_assert_lock(sdata);
sdata            1539 net/mac80211/ibss.c 					  lockdep_is_held(&sdata->wdev.mtx));
sdata            1547 net/mac80211/ibss.c 	ibss_dbg(sdata, "RX ProbeReq SA=%pM DA=%pM\n", mgmt->sa, mgmt->da);
sdata            1548 net/mac80211/ibss.c 	ibss_dbg(sdata, "\tBSSID=%pM (tx_last_beacon=%d)\n",
sdata            1562 net/mac80211/ibss.c 		ibss_dbg(sdata, "Invalid SSID IE in ProbeReq from %pM\n",
sdata            1582 net/mac80211/ibss.c 	ibss_dbg(sdata, "Sending ProbeResp to %pM\n", mgmt->sa);
sdata            1589 net/mac80211/ibss.c 	ieee80211_tx_skb(sdata, skb);
sdata            1593 net/mac80211/ibss.c void ieee80211_rx_mgmt_probe_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1614 net/mac80211/ibss.c 	ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems);
sdata            1617 net/mac80211/ibss.c void ieee80211_ibss_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            1630 net/mac80211/ibss.c 	sdata_lock(sdata);
sdata            1632 net/mac80211/ibss.c 	if (!sdata->u.ibss.ssid_len)
sdata            1637 net/mac80211/ibss.c 		ieee80211_rx_mgmt_probe_req(sdata, skb);
sdata            1641 net/mac80211/ibss.c 		ieee80211_rx_mgmt_probe_beacon(sdata, mgmt, skb->len,
sdata            1645 net/mac80211/ibss.c 		ieee80211_rx_mgmt_auth_ibss(sdata, mgmt, skb->len);
sdata            1648 net/mac80211/ibss.c 		ieee80211_rx_mgmt_deauth_ibss(sdata, mgmt, skb->len);
sdata            1667 net/mac80211/ibss.c 			ieee80211_rx_mgmt_spectrum_mgmt(sdata, mgmt, skb->len,
sdata            1674 net/mac80211/ibss.c 	sdata_unlock(sdata);
sdata            1677 net/mac80211/ibss.c void ieee80211_ibss_work(struct ieee80211_sub_if_data *sdata)
sdata            1679 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1682 net/mac80211/ibss.c 	sdata_lock(sdata);
sdata            1707 net/mac80211/ibss.c 		ieee80211_sta_find_ibss(sdata);
sdata            1710 net/mac80211/ibss.c 		ieee80211_sta_merge_ibss(sdata);
sdata            1718 net/mac80211/ibss.c 	sdata_unlock(sdata);
sdata            1723 net/mac80211/ibss.c 	struct ieee80211_sub_if_data *sdata =
sdata            1724 net/mac80211/ibss.c 		from_timer(sdata, t, u.ibss.timer);
sdata            1726 net/mac80211/ibss.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata            1729 net/mac80211/ibss.c void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata)
sdata            1731 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1743 net/mac80211/ibss.c 	struct ieee80211_sub_if_data *sdata;
sdata            1746 net/mac80211/ibss.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1747 net/mac80211/ibss.c 		if (!ieee80211_sdata_running(sdata))
sdata            1749 net/mac80211/ibss.c 		if (sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            1751 net/mac80211/ibss.c 		sdata->u.ibss.last_scan_completed = jiffies;
sdata            1756 net/mac80211/ibss.c int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
sdata            1763 net/mac80211/ibss.c 	struct ieee80211_local *local = sdata->local;
sdata            1770 net/mac80211/ibss.c 					    sdata->wdev.iftype);
sdata            1784 net/mac80211/ibss.c 	ret = ieee80211_check_combinations(sdata, &params->chandef, chanmode,
sdata            1791 net/mac80211/ibss.c 		memcpy(sdata->u.ibss.bssid, params->bssid, ETH_ALEN);
sdata            1792 net/mac80211/ibss.c 		sdata->u.ibss.fixed_bssid = true;
sdata            1794 net/mac80211/ibss.c 		sdata->u.ibss.fixed_bssid = false;
sdata            1796 net/mac80211/ibss.c 	sdata->u.ibss.privacy = params->privacy;
sdata            1797 net/mac80211/ibss.c 	sdata->u.ibss.control_port = params->control_port;
sdata            1798 net/mac80211/ibss.c 	sdata->u.ibss.userspace_handles_dfs = params->userspace_handles_dfs;
sdata            1799 net/mac80211/ibss.c 	sdata->u.ibss.basic_rates = params->basic_rates;
sdata            1800 net/mac80211/ibss.c 	sdata->u.ibss.last_scan_completed = jiffies;
sdata            1807 net/mac80211/ibss.c 			sdata->u.ibss.basic_rates &= ~BIT(i);
sdata            1809 net/mac80211/ibss.c 	memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate,
sdata            1812 net/mac80211/ibss.c 	sdata->vif.bss_conf.beacon_int = params->beacon_interval;
sdata            1814 net/mac80211/ibss.c 	sdata->u.ibss.chandef = params->chandef;
sdata            1815 net/mac80211/ibss.c 	sdata->u.ibss.fixed_channel = params->channel_fixed;
sdata            1818 net/mac80211/ibss.c 		sdata->u.ibss.ie = kmemdup(params->ie, params->ie_len,
sdata            1820 net/mac80211/ibss.c 		if (sdata->u.ibss.ie)
sdata            1821 net/mac80211/ibss.c 			sdata->u.ibss.ie_len = params->ie_len;
sdata            1824 net/mac80211/ibss.c 	sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH;
sdata            1825 net/mac80211/ibss.c 	sdata->u.ibss.ibss_join_req = jiffies;
sdata            1827 net/mac80211/ibss.c 	memcpy(sdata->u.ibss.ssid, params->ssid, params->ssid_len);
sdata            1828 net/mac80211/ibss.c 	sdata->u.ibss.ssid_len = params->ssid_len;
sdata            1830 net/mac80211/ibss.c 	memcpy(&sdata->u.ibss.ht_capa, &params->ht_capa,
sdata            1831 net/mac80211/ibss.c 	       sizeof(sdata->u.ibss.ht_capa));
sdata            1832 net/mac80211/ibss.c 	memcpy(&sdata->u.ibss.ht_capa_mask, &params->ht_capa_mask,
sdata            1833 net/mac80211/ibss.c 	       sizeof(sdata->u.ibss.ht_capa_mask));
sdata            1845 net/mac80211/ibss.c 	sdata->vif.bss_conf.ht_operation_mode |=
sdata            1850 net/mac80211/ibss.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            1852 net/mac80211/ibss.c 	sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata            1853 net/mac80211/ibss.c 	sdata->needed_rx_chains = local->rx_chains;
sdata            1854 net/mac80211/ibss.c 	sdata->control_port_over_nl80211 = params->control_port_over_nl80211;
sdata            1856 net/mac80211/ibss.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata            1861 net/mac80211/ibss.c int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata)
sdata            1863 net/mac80211/ibss.c 	struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            1865 net/mac80211/ibss.c 	ieee80211_ibss_disconnect(sdata);
sdata            1870 net/mac80211/ibss.c 	kfree(sdata->u.ibss.ie);
sdata            1878 net/mac80211/ibss.c 	skb_queue_purge(&sdata->skb_queue);
sdata            1880 net/mac80211/ibss.c 	del_timer_sync(&sdata->u.ibss.timer);
sdata             173 net/mac80211/ieee80211_i.h 	struct ieee80211_sub_if_data *sdata;
sdata             222 net/mac80211/ieee80211_i.h 	struct ieee80211_sub_if_data *sdata;
sdata             335 net/mac80211/ieee80211_i.h 	struct ieee80211_sub_if_data *sdata;
sdata             629 net/mac80211/ieee80211_i.h 	void (*rx_bcn_presp)(struct ieee80211_sub_if_data *sdata,
sdata             636 net/mac80211/ieee80211_i.h 	void (*adjust_tsf)(struct ieee80211_sub_if_data *sdata,
sdata             997 net/mac80211/ieee80211_i.h static inline void sdata_lock(struct ieee80211_sub_if_data *sdata)
sdata             998 net/mac80211/ieee80211_i.h 	__acquires(&sdata->wdev.mtx)
sdata            1000 net/mac80211/ieee80211_i.h 	mutex_lock(&sdata->wdev.mtx);
sdata            1001 net/mac80211/ieee80211_i.h 	__acquire(&sdata->wdev.mtx);
sdata            1004 net/mac80211/ieee80211_i.h static inline void sdata_unlock(struct ieee80211_sub_if_data *sdata)
sdata            1005 net/mac80211/ieee80211_i.h 	__releases(&sdata->wdev.mtx)
sdata            1007 net/mac80211/ieee80211_i.h 	mutex_unlock(&sdata->wdev.mtx);
sdata            1008 net/mac80211/ieee80211_i.h 	__release(&sdata->wdev.mtx);
sdata            1011 net/mac80211/ieee80211_i.h #define sdata_dereference(p, sdata) \
sdata            1012 net/mac80211/ieee80211_i.h 	rcu_dereference_protected(p, lockdep_is_held(&sdata->wdev.mtx))
sdata            1015 net/mac80211/ieee80211_i.h sdata_assert_lock(struct ieee80211_sub_if_data *sdata)
sdata            1017 net/mac80211/ieee80211_i.h 	lockdep_assert_held(&sdata->wdev.mtx);
sdata            1426 net/mac80211/ieee80211_i.h ieee80211_get_sband(struct ieee80211_sub_if_data *sdata)
sdata            1428 net/mac80211/ieee80211_i.h 	struct ieee80211_local *local = sdata->local;
sdata            1433 net/mac80211/ieee80211_i.h 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1573 net/mac80211/ieee80211_i.h void ieee80211_vif_inc_num_mcast(struct ieee80211_sub_if_data *sdata);
sdata            1574 net/mac80211/ieee80211_i.h void ieee80211_vif_dec_num_mcast(struct ieee80211_sub_if_data *sdata);
sdata            1581 net/mac80211/ieee80211_i.h ieee80211_vif_get_num_mcast_if(struct ieee80211_sub_if_data *sdata)
sdata            1583 net/mac80211/ieee80211_i.h 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1584 net/mac80211/ieee80211_i.h 		return atomic_read(&sdata->u.ap.num_mcast_sta);
sdata            1585 net/mac80211/ieee80211_i.h 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta)
sdata            1586 net/mac80211/ieee80211_i.h 		return atomic_read(&sdata->u.vlan.num_mcast_sta);
sdata            1596 net/mac80211/ieee80211_i.h void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
sdata            1599 net/mac80211/ieee80211_i.h u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata);
sdata            1606 net/mac80211/ieee80211_i.h void __ieee80211_check_fast_rx_iface(struct ieee80211_sub_if_data *sdata);
sdata            1607 net/mac80211/ieee80211_i.h void ieee80211_check_fast_rx_iface(struct ieee80211_sub_if_data *sdata);
sdata            1611 net/mac80211/ieee80211_i.h void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
sdata            1612 net/mac80211/ieee80211_i.h int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
sdata            1614 net/mac80211/ieee80211_i.h int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
sdata            1616 net/mac80211/ieee80211_i.h int ieee80211_mgd_deauth(struct ieee80211_sub_if_data *sdata,
sdata            1618 net/mac80211/ieee80211_i.h int ieee80211_mgd_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            1621 net/mac80211/ieee80211_i.h 			   struct ieee80211_sub_if_data *sdata);
sdata            1623 net/mac80211/ieee80211_i.h void ieee80211_recalc_ps_vif(struct ieee80211_sub_if_data *sdata);
sdata            1624 net/mac80211/ieee80211_i.h int ieee80211_set_arp_filter(struct ieee80211_sub_if_data *sdata);
sdata            1625 net/mac80211/ieee80211_i.h void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata);
sdata            1626 net/mac80211/ieee80211_i.h void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            1628 net/mac80211/ieee80211_i.h void ieee80211_sta_reset_beacon_monitor(struct ieee80211_sub_if_data *sdata);
sdata            1629 net/mac80211/ieee80211_i.h void ieee80211_sta_reset_conn_monitor(struct ieee80211_sub_if_data *sdata);
sdata            1630 net/mac80211/ieee80211_i.h void ieee80211_mgd_stop(struct ieee80211_sub_if_data *sdata);
sdata            1631 net/mac80211/ieee80211_i.h void ieee80211_mgd_conn_tx_status(struct ieee80211_sub_if_data *sdata,
sdata            1633 net/mac80211/ieee80211_i.h void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata);
sdata            1634 net/mac80211/ieee80211_i.h void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata);
sdata            1635 net/mac80211/ieee80211_i.h void ieee80211_sta_handle_tspec_ac_params(struct ieee80211_sub_if_data *sdata);
sdata            1639 net/mac80211/ieee80211_i.h void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata);
sdata            1640 net/mac80211/ieee80211_i.h void ieee80211_ibss_rx_no_sta(struct ieee80211_sub_if_data *sdata,
sdata            1642 net/mac80211/ieee80211_i.h int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
sdata            1644 net/mac80211/ieee80211_i.h int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata);
sdata            1645 net/mac80211/ieee80211_i.h void ieee80211_ibss_work(struct ieee80211_sub_if_data *sdata);
sdata            1646 net/mac80211/ieee80211_i.h void ieee80211_ibss_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            1648 net/mac80211/ieee80211_i.h int ieee80211_ibss_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1650 net/mac80211/ieee80211_i.h int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata);
sdata            1651 net/mac80211/ieee80211_i.h void ieee80211_ibss_stop(struct ieee80211_sub_if_data *sdata);
sdata            1654 net/mac80211/ieee80211_i.h void ieee80211_ocb_work(struct ieee80211_sub_if_data *sdata);
sdata            1655 net/mac80211/ieee80211_i.h void ieee80211_ocb_rx_no_sta(struct ieee80211_sub_if_data *sdata,
sdata            1657 net/mac80211/ieee80211_i.h void ieee80211_ocb_setup_sdata(struct ieee80211_sub_if_data *sdata);
sdata            1658 net/mac80211/ieee80211_i.h int ieee80211_ocb_join(struct ieee80211_sub_if_data *sdata,
sdata            1660 net/mac80211/ieee80211_i.h int ieee80211_ocb_leave(struct ieee80211_sub_if_data *sdata);
sdata            1663 net/mac80211/ieee80211_i.h void ieee80211_mesh_work(struct ieee80211_sub_if_data *sdata);
sdata            1664 net/mac80211/ieee80211_i.h void ieee80211_mesh_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            1666 net/mac80211/ieee80211_i.h int ieee80211_mesh_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1668 net/mac80211/ieee80211_i.h int ieee80211_mesh_finish_csa(struct ieee80211_sub_if_data *sdata);
sdata            1672 net/mac80211/ieee80211_i.h int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata,
sdata            1677 net/mac80211/ieee80211_i.h int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata,
sdata            1695 net/mac80211/ieee80211_i.h __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
sdata            1697 net/mac80211/ieee80211_i.h int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
sdata            1709 net/mac80211/ieee80211_i.h 			 struct ieee80211_sub_if_data *sdata);
sdata            1732 net/mac80211/ieee80211_i.h int ieee80211_if_change_type(struct ieee80211_sub_if_data *sdata,
sdata            1734 net/mac80211/ieee80211_i.h void ieee80211_if_remove(struct ieee80211_sub_if_data *sdata);
sdata            1738 net/mac80211/ieee80211_i.h void ieee80211_adjust_monitor_flags(struct ieee80211_sub_if_data *sdata,
sdata            1741 net/mac80211/ieee80211_i.h void ieee80211_sdata_stop(struct ieee80211_sub_if_data *sdata);
sdata            1745 net/mac80211/ieee80211_i.h bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata);
sdata            1746 net/mac80211/ieee80211_i.h void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata,
sdata            1749 net/mac80211/ieee80211_i.h static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata)
sdata            1751 net/mac80211/ieee80211_i.h 	return test_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata            1768 net/mac80211/ieee80211_i.h ieee80211_build_data_template(struct ieee80211_sub_if_data *sdata,
sdata            1777 net/mac80211/ieee80211_i.h void ieee80211_check_fast_xmit_iface(struct ieee80211_sub_if_data *sdata);
sdata            1786 net/mac80211/ieee80211_i.h void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
sdata            1788 net/mac80211/ieee80211_i.h bool ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_sub_if_data *sdata,
sdata            1792 net/mac80211/ieee80211_i.h void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
sdata            1795 net/mac80211/ieee80211_i.h int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata,
sdata            1814 net/mac80211/ieee80211_i.h void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
sdata            1844 net/mac80211/ieee80211_i.h ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata,
sdata            1855 net/mac80211/ieee80211_i.h void ieee80211_process_mu_groups(struct ieee80211_sub_if_data *sdata,
sdata            1857 net/mac80211/ieee80211_i.h u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
sdata            1860 net/mac80211/ieee80211_i.h void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
sdata            1863 net/mac80211/ieee80211_i.h void ieee80211_apply_vhtcap_overrides(struct ieee80211_sub_if_data *sdata,
sdata            1872 net/mac80211/ieee80211_i.h ieee80211_he_cap_ie_to_sta_he_cap(struct ieee80211_sub_if_data *sdata,
sdata            1885 net/mac80211/ieee80211_i.h void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,
sdata            1904 net/mac80211/ieee80211_i.h int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
sdata            1934 net/mac80211/ieee80211_i.h void ieee80211_regulatory_limit_wmm_params(struct ieee80211_sub_if_data *sdata,
sdata            1937 net/mac80211/ieee80211_i.h void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
sdata            1939 net/mac80211/ieee80211_i.h void ieee80211_xmit(struct ieee80211_sub_if_data *sdata,
sdata            1943 net/mac80211/ieee80211_i.h void __ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
sdata            1948 net/mac80211/ieee80211_i.h ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
sdata            1953 net/mac80211/ieee80211_i.h 	__ieee80211_tx_skb_tid_band(sdata, skb, tid, band, txdata_flags);
sdata            1957 net/mac80211/ieee80211_i.h static inline void ieee80211_tx_skb_tid(struct ieee80211_sub_if_data *sdata,
sdata            1963 net/mac80211/ieee80211_i.h 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1970 net/mac80211/ieee80211_i.h 	__ieee80211_tx_skb_tid_band(sdata, skb, tid,
sdata            1975 net/mac80211/ieee80211_i.h static inline void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata,
sdata            1979 net/mac80211/ieee80211_i.h 	ieee80211_tx_skb_tid(sdata, skb, 7);
sdata            2008 net/mac80211/ieee80211_i.h 			     struct ieee80211_sub_if_data *sdata,
sdata            2010 net/mac80211/ieee80211_i.h void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata,
sdata            2012 net/mac80211/ieee80211_i.h void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata,
sdata            2020 net/mac80211/ieee80211_i.h 			       struct ieee80211_sub_if_data *sdata,
sdata            2023 net/mac80211/ieee80211_i.h 			       struct ieee80211_sub_if_data *sdata,
sdata            2041 net/mac80211/ieee80211_i.h 			    struct ieee80211_sub_if_data *sdata, bool drop);
sdata            2043 net/mac80211/ieee80211_i.h 			      struct ieee80211_sub_if_data *sdata,
sdata            2086 net/mac80211/ieee80211_i.h void ieee80211_txq_init(struct ieee80211_sub_if_data *sdata,
sdata            2092 net/mac80211/ieee80211_i.h 			       struct ieee80211_sub_if_data *sdata);
sdata            2096 net/mac80211/ieee80211_i.h void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
sdata            2101 net/mac80211/ieee80211_i.h void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            2119 net/mac80211/ieee80211_i.h struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
sdata            2126 net/mac80211/ieee80211_i.h u32 ieee80211_sta_get_rates(struct ieee80211_sub_if_data *sdata,
sdata            2129 net/mac80211/ieee80211_i.h int __ieee80211_request_smps_mgd(struct ieee80211_sub_if_data *sdata,
sdata            2131 net/mac80211/ieee80211_i.h int __ieee80211_request_smps_ap(struct ieee80211_sub_if_data *sdata,
sdata            2133 net/mac80211/ieee80211_i.h void ieee80211_recalc_smps(struct ieee80211_sub_if_data *sdata);
sdata            2134 net/mac80211/ieee80211_i.h void ieee80211_recalc_min_chandef(struct ieee80211_sub_if_data *sdata);
sdata            2148 net/mac80211/ieee80211_i.h u8 ieee80211_ie_len_he_cap(struct ieee80211_sub_if_data *sdata, u8 iftype);
sdata            2156 net/mac80211/ieee80211_i.h int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
sdata            2159 net/mac80211/ieee80211_i.h int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata,
sdata            2174 net/mac80211/ieee80211_i.h ieee80211_vif_use_channel(struct ieee80211_sub_if_data *sdata,
sdata            2178 net/mac80211/ieee80211_i.h ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata,
sdata            2183 net/mac80211/ieee80211_i.h ieee80211_vif_use_reserved_context(struct ieee80211_sub_if_data *sdata);
sdata            2184 net/mac80211/ieee80211_i.h int ieee80211_vif_unreserve_chanctx(struct ieee80211_sub_if_data *sdata);
sdata            2187 net/mac80211/ieee80211_i.h ieee80211_vif_change_bandwidth(struct ieee80211_sub_if_data *sdata,
sdata            2190 net/mac80211/ieee80211_i.h void ieee80211_vif_release_channel(struct ieee80211_sub_if_data *sdata);
sdata            2191 net/mac80211/ieee80211_i.h void ieee80211_vif_vlan_copy_chanctx(struct ieee80211_sub_if_data *sdata);
sdata            2192 net/mac80211/ieee80211_i.h void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,
sdata            2207 net/mac80211/ieee80211_i.h int ieee80211_send_action_csa(struct ieee80211_sub_if_data *sdata,
sdata            2219 net/mac80211/ieee80211_i.h 			   struct ieee80211_sub_if_data *sdata);
sdata            2220 net/mac80211/ieee80211_i.h int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata,
sdata            2244 net/mac80211/ieee80211_i.h void ieee80211_teardown_tdls_peers(struct ieee80211_sub_if_data *sdata);
sdata            2246 net/mac80211/ieee80211_i.h void ieee80211_tdls_handle_disconnect(struct ieee80211_sub_if_data *sdata,
sdata              47 net/mac80211/iface.c bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata)
sdata              53 net/mac80211/iface.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata              62 net/mac80211/iface.c 	if (sdata->user_power_level != IEEE80211_UNSET_POWER_LEVEL)
sdata              63 net/mac80211/iface.c 		power = min(power, sdata->user_power_level);
sdata              65 net/mac80211/iface.c 	if (sdata->ap_power_level != IEEE80211_UNSET_POWER_LEVEL)
sdata              66 net/mac80211/iface.c 		power = min(power, sdata->ap_power_level);
sdata              68 net/mac80211/iface.c 	if (power != sdata->vif.bss_conf.txpower) {
sdata              69 net/mac80211/iface.c 		sdata->vif.bss_conf.txpower = power;
sdata              70 net/mac80211/iface.c 		ieee80211_hw_config(sdata->local, 0);
sdata              77 net/mac80211/iface.c void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata,
sdata              80 net/mac80211/iface.c 	if (__ieee80211_recalc_txpower(sdata) ||
sdata              81 net/mac80211/iface.c 	    (update_bss && ieee80211_sdata_running(sdata)))
sdata              82 net/mac80211/iface.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_TXPOWER);
sdata             152 net/mac80211/iface.c static int ieee80211_verify_mac(struct ieee80211_sub_if_data *sdata, u8 *addr,
sdata             155 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             179 net/mac80211/iface.c 		if (iter == sdata)
sdata             203 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             208 net/mac80211/iface.c 	if (ieee80211_sdata_running(sdata))
sdata             211 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
sdata             212 net/mac80211/iface.c 	    !(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))
sdata             215 net/mac80211/iface.c 	ret = ieee80211_verify_mac(sdata, sa->sa_data, check_dup);
sdata             222 net/mac80211/iface.c 		memcpy(sdata->vif.addr, sa->sa_data, ETH_ALEN);
sdata             243 net/mac80211/iface.c static int ieee80211_check_concurrent_iface(struct ieee80211_sub_if_data *sdata,
sdata             246 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             254 net/mac80211/iface.c 		if (nsdata != sdata && ieee80211_sdata_running(nsdata)) {
sdata             258 net/mac80211/iface.c 			if ((sdata->vif.type == NL80211_IFTYPE_OCB &&
sdata             260 net/mac80211/iface.c 			    (sdata->vif.type != NL80211_IFTYPE_MONITOR &&
sdata             288 net/mac80211/iface.c 			if (!ether_addr_equal(sdata->vif.addr,
sdata             304 net/mac80211/iface.c 				sdata->bss = &nsdata->u.ap;
sdata             309 net/mac80211/iface.c 	ret = ieee80211_check_combinations(sdata, NULL, 0, 0);
sdata             314 net/mac80211/iface.c static int ieee80211_check_queues(struct ieee80211_sub_if_data *sdata,
sdata             317 net/mac80211/iface.c 	int n_queues = sdata->local->hw.queues;
sdata             325 net/mac80211/iface.c 			if (WARN_ON_ONCE(sdata->vif.hw_queue[i] ==
sdata             328 net/mac80211/iface.c 			if (WARN_ON_ONCE(sdata->vif.hw_queue[i] >=
sdata             337 net/mac80211/iface.c 	    !ieee80211_hw_check(&sdata->local->hw, QUEUE_CONTROL)) {
sdata             338 net/mac80211/iface.c 		sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE;
sdata             342 net/mac80211/iface.c 	if (WARN_ON_ONCE(sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE))
sdata             345 net/mac80211/iface.c 	if (WARN_ON_ONCE(sdata->vif.cab_queue >= n_queues))
sdata             351 net/mac80211/iface.c void ieee80211_adjust_monitor_flags(struct ieee80211_sub_if_data *sdata,
sdata             354 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             355 net/mac80211/iface.c 	u32 flags = sdata->u.mntr.flags;
sdata             371 net/mac80211/iface.c static void ieee80211_set_default_queues(struct ieee80211_sub_if_data *sdata)
sdata             373 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             378 net/mac80211/iface.c 			sdata->vif.hw_queue[i] = IEEE80211_INVAL_HW_QUEUE;
sdata             380 net/mac80211/iface.c 			sdata->vif.hw_queue[i] = i;
sdata             382 net/mac80211/iface.c 			sdata->vif.hw_queue[i] = 0;
sdata             384 net/mac80211/iface.c 	sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE;
sdata             389 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata;
sdata             400 net/mac80211/iface.c 	sdata = kzalloc(sizeof(*sdata) + local->hw.vif_data_size, GFP_KERNEL);
sdata             401 net/mac80211/iface.c 	if (!sdata)
sdata             405 net/mac80211/iface.c 	sdata->local = local;
sdata             406 net/mac80211/iface.c 	sdata->vif.type = NL80211_IFTYPE_MONITOR;
sdata             407 net/mac80211/iface.c 	snprintf(sdata->name, IFNAMSIZ, "%s-monitor",
sdata             409 net/mac80211/iface.c 	sdata->wdev.iftype = NL80211_IFTYPE_MONITOR;
sdata             411 net/mac80211/iface.c 	sdata->encrypt_headroom = IEEE80211_ENCRYPT_HEADROOM;
sdata             413 net/mac80211/iface.c 	ieee80211_set_default_queues(sdata);
sdata             415 net/mac80211/iface.c 	ret = drv_add_interface(local, sdata);
sdata             418 net/mac80211/iface.c 		kfree(sdata);
sdata             422 net/mac80211/iface.c 	ret = ieee80211_check_queues(sdata, NL80211_IFTYPE_MONITOR);
sdata             424 net/mac80211/iface.c 		kfree(sdata);
sdata             429 net/mac80211/iface.c 	rcu_assign_pointer(local->monitor_sdata, sdata);
sdata             433 net/mac80211/iface.c 	ret = ieee80211_vif_use_channel(sdata, &local->monitor_chandef,
sdata             441 net/mac80211/iface.c 		drv_remove_interface(local, sdata);
sdata             442 net/mac80211/iface.c 		kfree(sdata);
sdata             446 net/mac80211/iface.c 	skb_queue_head_init(&sdata->skb_queue);
sdata             447 net/mac80211/iface.c 	INIT_WORK(&sdata->work, ieee80211_iface_work);
sdata             454 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata;
sdata             463 net/mac80211/iface.c 	sdata = rcu_dereference_protected(local->monitor_sdata,
sdata             465 net/mac80211/iface.c 	if (!sdata) {
sdata             476 net/mac80211/iface.c 	ieee80211_vif_release_channel(sdata);
sdata             479 net/mac80211/iface.c 	drv_remove_interface(local, sdata);
sdata             481 net/mac80211/iface.c 	kfree(sdata);
sdata             491 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             493 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             499 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata             501 net/mac80211/iface.c 		if (!is_valid_ether_addr(sdata->u.wds.remote_addr))
sdata             507 net/mac80211/iface.c 		if (!sdata->bss)
sdata             511 net/mac80211/iface.c 		list_add(&sdata->u.vlan.list, &sdata->bss->vlans);
sdata             514 net/mac80211/iface.c 		master = container_of(sdata->bss,
sdata             516 net/mac80211/iface.c 		sdata->control_port_protocol =
sdata             518 net/mac80211/iface.c 		sdata->control_port_no_encrypt =
sdata             520 net/mac80211/iface.c 		sdata->control_port_over_nl80211 =
sdata             522 net/mac80211/iface.c 		sdata->vif.cab_queue = master->vif.cab_queue;
sdata             523 net/mac80211/iface.c 		memcpy(sdata->vif.hw_queue, master->vif.hw_queue,
sdata             524 net/mac80211/iface.c 		       sizeof(sdata->vif.hw_queue));
sdata             525 net/mac80211/iface.c 		sdata->vif.bss_conf.chandef = master->vif.bss_conf.chandef;
sdata             528 net/mac80211/iface.c 		sdata->crypto_tx_tailroom_needed_cnt +=
sdata             535 net/mac80211/iface.c 		sdata->bss = &sdata->u.ap;
sdata             582 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata             585 net/mac80211/iface.c 		if (rtnl_dereference(sdata->bss->beacon)) {
sdata             586 net/mac80211/iface.c 			ieee80211_vif_vlan_copy_chanctx(sdata);
sdata             593 net/mac80211/iface.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES) {
sdata             598 net/mac80211/iface.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE) {
sdata             599 net/mac80211/iface.c 			res = drv_add_interface(local, sdata);
sdata             615 net/mac80211/iface.c 		ieee80211_adjust_monitor_flags(sdata, 1);
sdata             627 net/mac80211/iface.c 			res = drv_add_interface(local, sdata);
sdata             630 net/mac80211/iface.c 			res = ieee80211_check_queues(sdata,
sdata             631 net/mac80211/iface.c 				ieee80211_vif_type_p2p(&sdata->vif));
sdata             636 net/mac80211/iface.c 		if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata             641 net/mac80211/iface.c 		} else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
sdata             645 net/mac80211/iface.c 		if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
sdata             646 net/mac80211/iface.c 		    sdata->vif.type != NL80211_IFTYPE_NAN)
sdata             647 net/mac80211/iface.c 			changed |= ieee80211_reset_erp_info(sdata);
sdata             648 net/mac80211/iface.c 		ieee80211_bss_info_change_notify(sdata, changed);
sdata             650 net/mac80211/iface.c 		switch (sdata->vif.type) {
sdata             673 net/mac80211/iface.c 		ieee80211_set_wmm_default(sdata, true,
sdata             674 net/mac80211/iface.c 			sdata->vif.type != NL80211_IFTYPE_STATION);
sdata             677 net/mac80211/iface.c 	set_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             679 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata             682 net/mac80211/iface.c 		sta = sta_info_alloc(sdata, sdata->u.wds.remote_addr,
sdata             703 net/mac80211/iface.c 		rcu_assign_pointer(local->p2p_sdata, sdata);
sdata             706 net/mac80211/iface.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES)
sdata             708 net/mac80211/iface.c 		list_add_tail_rcu(&sdata->u.mntr.list, &local->mon_list);
sdata             719 net/mac80211/iface.c 	if (sdata->flags & IEEE80211_SDATA_ALLMULTI)
sdata             730 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
sdata             731 net/mac80211/iface.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata             745 net/mac80211/iface.c 		if (sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE ||
sdata             746 net/mac80211/iface.c 		    (local->queue_stop_reasons[sdata->vif.cab_queue] == 0 &&
sdata             747 net/mac80211/iface.c 		     skb_queue_empty(&local->pending[sdata->vif.cab_queue]))) {
sdata             749 net/mac80211/iface.c 				int ac_queue = sdata->vif.hw_queue[ac];
sdata             761 net/mac80211/iface.c 	drv_remove_interface(local, sdata);
sdata             766 net/mac80211/iface.c 	sdata->bss = NULL;
sdata             767 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             769 net/mac80211/iface.c 		list_del(&sdata->u.vlan.list);
sdata             773 net/mac80211/iface.c 	clear_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             779 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             786 net/mac80211/iface.c 	err = ieee80211_check_concurrent_iface(sdata, sdata->vif.type);
sdata             790 net/mac80211/iface.c 	return ieee80211_do_open(&sdata->wdev, true);
sdata             793 net/mac80211/iface.c static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
sdata             796 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata             806 net/mac80211/iface.c 	clear_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             808 net/mac80211/iface.c 	cancel_scan = rcu_access_pointer(local->scan_sdata) == sdata;
sdata             815 net/mac80211/iface.c 	if (sdata->dev)
sdata             816 net/mac80211/iface.c 		netif_tx_stop_all_queues(sdata->dev);
sdata             818 net/mac80211/iface.c 	ieee80211_roc_purge(local, sdata);
sdata             820 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata             822 net/mac80211/iface.c 		ieee80211_mgd_stop(sdata);
sdata             825 net/mac80211/iface.c 		ieee80211_ibss_stop(sdata);
sdata             828 net/mac80211/iface.c 		cancel_work_sync(&sdata->u.ap.request_smps_work);
sdata             831 net/mac80211/iface.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES)
sdata             833 net/mac80211/iface.c 		list_del_rcu(&sdata->u.mntr.list);
sdata             854 net/mac80211/iface.c 	flushed = sta_info_flush(sdata);
sdata             855 net/mac80211/iface.c 	WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata             856 net/mac80211/iface.c 		     ((sdata->vif.type != NL80211_IFTYPE_WDS && flushed > 0) ||
sdata             857 net/mac80211/iface.c 		      (sdata->vif.type == NL80211_IFTYPE_WDS && flushed != 1)));
sdata             860 net/mac80211/iface.c 	if (sdata->flags & IEEE80211_SDATA_ALLMULTI)
sdata             863 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata             866 net/mac80211/iface.c 	} else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
sdata             870 net/mac80211/iface.c 	if (sdata->dev) {
sdata             871 net/mac80211/iface.c 		netif_addr_lock_bh(sdata->dev);
sdata             873 net/mac80211/iface.c 		__hw_addr_unsync(&local->mc_list, &sdata->dev->mc,
sdata             874 net/mac80211/iface.c 				 sdata->dev->addr_len);
sdata             876 net/mac80211/iface.c 		netif_addr_unlock_bh(sdata->dev);
sdata             882 net/mac80211/iface.c 	cancel_work_sync(&sdata->recalc_smps);
sdata             883 net/mac80211/iface.c 	sdata_lock(sdata);
sdata             885 net/mac80211/iface.c 	sdata->vif.csa_active = false;
sdata             886 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata             887 net/mac80211/iface.c 		sdata->u.mgd.csa_waiting_bcn = false;
sdata             888 net/mac80211/iface.c 	if (sdata->csa_block_tx) {
sdata             889 net/mac80211/iface.c 		ieee80211_wake_vif_queues(local, sdata,
sdata             891 net/mac80211/iface.c 		sdata->csa_block_tx = false;
sdata             894 net/mac80211/iface.c 	sdata_unlock(sdata);
sdata             896 net/mac80211/iface.c 	cancel_work_sync(&sdata->csa_finalize_work);
sdata             898 net/mac80211/iface.c 	cancel_delayed_work_sync(&sdata->dfs_cac_timer_work);
sdata             900 net/mac80211/iface.c 	if (sdata->wdev.cac_started) {
sdata             901 net/mac80211/iface.c 		chandef = sdata->vif.bss_conf.chandef;
sdata             904 net/mac80211/iface.c 		ieee80211_vif_release_channel(sdata);
sdata             906 net/mac80211/iface.c 		cfg80211_cac_event(sdata->dev, &chandef,
sdata             912 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata             916 net/mac80211/iface.c 		list_for_each_entry_safe(vlan, tmpsdata, &sdata->u.ap.vlans,
sdata             919 net/mac80211/iface.c 		WARN_ON(!list_empty(&sdata->u.ap.vlans));
sdata             920 net/mac80211/iface.c 	} else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             922 net/mac80211/iface.c 		ps = &sdata->bss->ps;
sdata             926 net/mac80211/iface.c 			if (skb->dev == sdata->dev) {
sdata             938 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata             941 net/mac80211/iface.c 		list_del(&sdata->u.vlan.list);
sdata             943 net/mac80211/iface.c 		RCU_INIT_POINTER(sdata->vif.chanctx_conf, NULL);
sdata             945 net/mac80211/iface.c 		ieee80211_free_keys(sdata, true);
sdata             949 net/mac80211/iface.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES) {
sdata             960 net/mac80211/iface.c 		ieee80211_adjust_monitor_flags(sdata, -1);
sdata             964 net/mac80211/iface.c 		spin_lock_bh(&sdata->u.nan.func_lock);
sdata             966 net/mac80211/iface.c 		idr_for_each_entry(&sdata->u.nan.function_inst_ids, func, i) {
sdata             967 net/mac80211/iface.c 			idr_remove(&sdata->u.nan.function_inst_ids, i);
sdata             970 net/mac80211/iface.c 		idr_destroy(&sdata->u.nan.function_inst_ids);
sdata             972 net/mac80211/iface.c 		spin_unlock_bh(&sdata->u.nan.func_lock);
sdata             979 net/mac80211/iface.c 		cancel_work_sync(&sdata->work);
sdata             992 net/mac80211/iface.c 		ieee80211_free_keys(sdata, true);
sdata             993 net/mac80211/iface.c 		skb_queue_purge(&sdata->skb_queue);
sdata            1000 net/mac80211/iface.c 			if (info->control.vif == &sdata->vif) {
sdata            1008 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            1009 net/mac80211/iface.c 		ieee80211_txq_remove_vlan(local, sdata);
sdata            1011 net/mac80211/iface.c 	sdata->bss = NULL;
sdata            1016 net/mac80211/iface.c 	sdata->vif.bss_conf.beacon_int = 0;
sdata            1033 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata            1044 net/mac80211/iface.c 		if (!(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))
sdata            1050 net/mac80211/iface.c 			drv_remove_interface(local, sdata);
sdata            1075 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1077 net/mac80211/iface.c 	ieee80211_do_stop(sdata, true);
sdata            1084 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1085 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata            1089 net/mac80211/iface.c 	sdata_allmulti = !!(sdata->flags & IEEE80211_SDATA_ALLMULTI);
sdata            1096 net/mac80211/iface.c 		sdata->flags ^= IEEE80211_SDATA_ALLMULTI;
sdata            1109 net/mac80211/iface.c static void ieee80211_teardown_sdata(struct ieee80211_sub_if_data *sdata)
sdata            1114 net/mac80211/iface.c 	ieee80211_free_keys(sdata, false);
sdata            1116 net/mac80211/iface.c 	ieee80211_debugfs_remove_netdev(sdata);
sdata            1119 net/mac80211/iface.c 		__skb_queue_purge(&sdata->fragments[i].skb_list);
sdata            1120 net/mac80211/iface.c 	sdata->fragment_next = 0;
sdata            1122 net/mac80211/iface.c 	if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            1123 net/mac80211/iface.c 		ieee80211_mesh_teardown_sdata(sdata);
sdata            1180 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1181 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata            1194 net/mac80211/iface.c 	return ieee80211_select_queue_80211(sdata, skb, hdr);
sdata            1230 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata =
sdata            1232 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata            1236 net/mac80211/iface.c 	if (!ieee80211_sdata_running(sdata))
sdata            1246 net/mac80211/iface.c 	while ((skb = skb_dequeue(&sdata->skb_queue))) {
sdata            1254 net/mac80211/iface.c 			sta = sta_info_get_bss(sdata, mgmt->sa);
sdata            1266 net/mac80211/iface.c 					ieee80211_process_delba(sdata, sta,
sdata            1288 net/mac80211/iface.c 				sta = sta_info_get_bss(sdata, mgmt->sa);
sdata            1291 net/mac80211/iface.c 					ieee80211_vht_handle_opmode(sdata, sta,
sdata            1299 net/mac80211/iface.c 				ieee80211_process_mu_groups(sdata, mgmt);
sdata            1325 net/mac80211/iface.c 			sta = sta_info_get_bss(sdata, mgmt->sa);
sdata            1335 net/mac80211/iface.c 		} else switch (sdata->vif.type) {
sdata            1337 net/mac80211/iface.c 			ieee80211_sta_rx_queued_mgmt(sdata, skb);
sdata            1340 net/mac80211/iface.c 			ieee80211_ibss_rx_queued_mgmt(sdata, skb);
sdata            1343 net/mac80211/iface.c 			if (!ieee80211_vif_is_mesh(&sdata->vif))
sdata            1345 net/mac80211/iface.c 			ieee80211_mesh_rx_queued_mgmt(sdata, skb);
sdata            1356 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata            1358 net/mac80211/iface.c 		ieee80211_sta_work(sdata);
sdata            1361 net/mac80211/iface.c 		ieee80211_ibss_work(sdata);
sdata            1364 net/mac80211/iface.c 		if (!ieee80211_vif_is_mesh(&sdata->vif))
sdata            1366 net/mac80211/iface.c 		ieee80211_mesh_work(sdata);
sdata            1369 net/mac80211/iface.c 		ieee80211_ocb_work(sdata);
sdata            1378 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata =
sdata            1381 net/mac80211/iface.c 	ieee80211_recalc_smps(sdata);
sdata            1387 net/mac80211/iface.c static void ieee80211_setup_sdata(struct ieee80211_sub_if_data *sdata,
sdata            1394 net/mac80211/iface.c 	memset(&sdata->u, 0, sizeof(sdata->u));
sdata            1397 net/mac80211/iface.c 	sdata->vif.type = type;
sdata            1398 net/mac80211/iface.c 	sdata->vif.p2p = false;
sdata            1399 net/mac80211/iface.c 	sdata->wdev.iftype = type;
sdata            1401 net/mac80211/iface.c 	sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE);
sdata            1402 net/mac80211/iface.c 	sdata->control_port_no_encrypt = false;
sdata            1403 net/mac80211/iface.c 	sdata->encrypt_headroom = IEEE80211_ENCRYPT_HEADROOM;
sdata            1404 net/mac80211/iface.c 	sdata->vif.bss_conf.idle = true;
sdata            1406 net/mac80211/iface.c 	sdata->noack_map = 0;
sdata            1409 net/mac80211/iface.c 	if (sdata->dev) {
sdata            1410 net/mac80211/iface.c 		sdata->dev->netdev_ops = &ieee80211_dataif_ops;
sdata            1411 net/mac80211/iface.c 		sdata->dev->type = ARPHRD_ETHER;
sdata            1414 net/mac80211/iface.c 	skb_queue_head_init(&sdata->skb_queue);
sdata            1415 net/mac80211/iface.c 	INIT_WORK(&sdata->work, ieee80211_iface_work);
sdata            1416 net/mac80211/iface.c 	INIT_WORK(&sdata->recalc_smps, ieee80211_recalc_smps_work);
sdata            1417 net/mac80211/iface.c 	INIT_WORK(&sdata->csa_finalize_work, ieee80211_csa_finalize_work);
sdata            1418 net/mac80211/iface.c 	INIT_LIST_HEAD(&sdata->assigned_chanctx_list);
sdata            1419 net/mac80211/iface.c 	INIT_LIST_HEAD(&sdata->reserved_chanctx_list);
sdata            1424 net/mac80211/iface.c 		sdata->vif.type = type;
sdata            1425 net/mac80211/iface.c 		sdata->vif.p2p = true;
sdata            1428 net/mac80211/iface.c 		skb_queue_head_init(&sdata->u.ap.ps.bc_buf);
sdata            1429 net/mac80211/iface.c 		INIT_LIST_HEAD(&sdata->u.ap.vlans);
sdata            1430 net/mac80211/iface.c 		INIT_WORK(&sdata->u.ap.request_smps_work,
sdata            1432 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = sdata->vif.addr;
sdata            1433 net/mac80211/iface.c 		sdata->u.ap.req_smps = IEEE80211_SMPS_OFF;
sdata            1437 net/mac80211/iface.c 		sdata->vif.type = type;
sdata            1438 net/mac80211/iface.c 		sdata->vif.p2p = true;
sdata            1441 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = sdata->u.mgd.bssid;
sdata            1442 net/mac80211/iface.c 		ieee80211_sta_setup_sdata(sdata);
sdata            1445 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = bssid_wildcard;
sdata            1446 net/mac80211/iface.c 		ieee80211_ocb_setup_sdata(sdata);
sdata            1449 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = sdata->u.ibss.bssid;
sdata            1450 net/mac80211/iface.c 		ieee80211_ibss_setup_sdata(sdata);
sdata            1453 net/mac80211/iface.c 		if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            1454 net/mac80211/iface.c 			ieee80211_mesh_init_sdata(sdata);
sdata            1457 net/mac80211/iface.c 		sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
sdata            1458 net/mac80211/iface.c 		sdata->dev->netdev_ops = &ieee80211_monitorif_ops;
sdata            1459 net/mac80211/iface.c 		sdata->u.mntr.flags = MONITOR_FLAG_CONTROL |
sdata            1463 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = NULL;
sdata            1466 net/mac80211/iface.c 		idr_init(&sdata->u.nan.function_inst_ids);
sdata            1467 net/mac80211/iface.c 		spin_lock_init(&sdata->u.nan.func_lock);
sdata            1468 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = sdata->vif.addr;
sdata            1472 net/mac80211/iface.c 		sdata->vif.bss_conf.bssid = sdata->vif.addr;
sdata            1480 net/mac80211/iface.c 	ieee80211_debugfs_add_netdev(sdata);
sdata            1483 net/mac80211/iface.c static int ieee80211_runtime_change_iftype(struct ieee80211_sub_if_data *sdata,
sdata            1486 net/mac80211/iface.c 	struct ieee80211_local *local = sdata->local;
sdata            1496 net/mac80211/iface.c 	switch (sdata->vif.type) {
sdata            1536 net/mac80211/iface.c 	ret = ieee80211_check_concurrent_iface(sdata, internal_type);
sdata            1540 net/mac80211/iface.c 	ieee80211_do_stop(sdata, false);
sdata            1542 net/mac80211/iface.c 	ieee80211_teardown_sdata(sdata);
sdata            1544 net/mac80211/iface.c 	ret = drv_change_interface(local, sdata, internal_type, p2p);
sdata            1546 net/mac80211/iface.c 		type = ieee80211_vif_type_p2p(&sdata->vif);
sdata            1553 net/mac80211/iface.c 	ieee80211_check_queues(sdata, type);
sdata            1555 net/mac80211/iface.c 	ieee80211_setup_sdata(sdata, type);
sdata            1557 net/mac80211/iface.c 	err = ieee80211_do_open(&sdata->wdev, false);
sdata            1563 net/mac80211/iface.c int ieee80211_if_change_type(struct ieee80211_sub_if_data *sdata,
sdata            1570 net/mac80211/iface.c 	if (type == ieee80211_vif_type_p2p(&sdata->vif))
sdata            1573 net/mac80211/iface.c 	if (ieee80211_sdata_running(sdata)) {
sdata            1574 net/mac80211/iface.c 		ret = ieee80211_runtime_change_iftype(sdata, type);
sdata            1579 net/mac80211/iface.c 		ieee80211_teardown_sdata(sdata);
sdata            1580 net/mac80211/iface.c 		ieee80211_setup_sdata(sdata, type);
sdata            1585 net/mac80211/iface.c 		sdata->u.mgd.use_4addr = false;
sdata            1593 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata;
sdata            1615 net/mac80211/iface.c 		list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1616 net/mac80211/iface.c 			if (sdata->vif.type != NL80211_IFTYPE_AP)
sdata            1618 net/mac80211/iface.c 			memcpy(perm_addr, sdata->vif.addr, ETH_ALEN);
sdata            1626 net/mac80211/iface.c 			list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1627 net/mac80211/iface.c 				if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE)
sdata            1629 net/mac80211/iface.c 				if (!ieee80211_sdata_running(sdata))
sdata            1631 net/mac80211/iface.c 				memcpy(perm_addr, sdata->vif.addr, ETH_ALEN);
sdata            1641 net/mac80211/iface.c 			list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1643 net/mac80211/iface.c 						     sdata->vif.addr)) {
sdata            1677 net/mac80211/iface.c 		list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1678 net/mac80211/iface.c 			if (sdata->vif.type == NL80211_IFTYPE_MONITOR)
sdata            1680 net/mac80211/iface.c 			m = sdata->vif.addr;
sdata            1702 net/mac80211/iface.c 			list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1703 net/mac80211/iface.c 				if (ether_addr_equal(tmp_addr, sdata->vif.addr)) {
sdata            1729 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata = NULL;
sdata            1740 net/mac80211/iface.c 		sdata = kzalloc(sizeof(*sdata) + local->hw.vif_data_size,
sdata            1742 net/mac80211/iface.c 		if (!sdata)
sdata            1744 net/mac80211/iface.c 		wdev = &sdata->wdev;
sdata            1746 net/mac80211/iface.c 		sdata->dev = NULL;
sdata            1747 net/mac80211/iface.c 		strlcpy(sdata->name, name, IFNAMSIZ);
sdata            1749 net/mac80211/iface.c 		memcpy(sdata->vif.addr, wdev->address, ETH_ALEN);
sdata            1751 net/mac80211/iface.c 		int size = ALIGN(sizeof(*sdata) + local->hw.vif_data_size,
sdata            1807 net/mac80211/iface.c 		sdata = netdev_priv(ndev);
sdata            1808 net/mac80211/iface.c 		ndev->ieee80211_ptr = &sdata->wdev;
sdata            1809 net/mac80211/iface.c 		memcpy(sdata->vif.addr, ndev->dev_addr, ETH_ALEN);
sdata            1810 net/mac80211/iface.c 		memcpy(sdata->name, ndev->name, IFNAMSIZ);
sdata            1814 net/mac80211/iface.c 			ieee80211_txq_init(sdata, NULL, txqi, 0);
sdata            1817 net/mac80211/iface.c 		sdata->dev = ndev;
sdata            1821 net/mac80211/iface.c 	sdata->wdev.wiphy = local->hw.wiphy;
sdata            1822 net/mac80211/iface.c 	sdata->local = local;
sdata            1825 net/mac80211/iface.c 		skb_queue_head_init(&sdata->fragments[i].skb_list);
sdata            1827 net/mac80211/iface.c 	INIT_LIST_HEAD(&sdata->key_list);
sdata            1829 net/mac80211/iface.c 	INIT_DELAYED_WORK(&sdata->dfs_cac_timer_work,
sdata            1831 net/mac80211/iface.c 	INIT_DELAYED_WORK(&sdata->dec_tailroom_needed_wk,
sdata            1837 net/mac80211/iface.c 		sdata->rc_rateidx_mask[i] =
sdata            1843 net/mac80211/iface.c 			memcpy(sdata->rc_rateidx_mcs_mask[i],
sdata            1845 net/mac80211/iface.c 			       sizeof(sdata->rc_rateidx_mcs_mask[i]));
sdata            1848 net/mac80211/iface.c 			vht_rate_mask = sdata->rc_rateidx_vht_mcs_mask[i];
sdata            1851 net/mac80211/iface.c 			memset(sdata->rc_rateidx_mcs_mask[i], 0,
sdata            1852 net/mac80211/iface.c 			       sizeof(sdata->rc_rateidx_mcs_mask[i]));
sdata            1853 net/mac80211/iface.c 			memset(sdata->rc_rateidx_vht_mcs_mask[i], 0,
sdata            1854 net/mac80211/iface.c 			       sizeof(sdata->rc_rateidx_vht_mcs_mask[i]));
sdata            1858 net/mac80211/iface.c 	ieee80211_set_default_queues(sdata);
sdata            1860 net/mac80211/iface.c 	sdata->ap_power_level = IEEE80211_UNSET_POWER_LEVEL;
sdata            1861 net/mac80211/iface.c 	sdata->user_power_level = local->user_power_level;
sdata            1863 net/mac80211/iface.c 	sdata->encrypt_headroom = IEEE80211_ENCRYPT_HEADROOM;
sdata            1866 net/mac80211/iface.c 	ieee80211_setup_sdata(sdata, type);
sdata            1871 net/mac80211/iface.c 			sdata->u.mgd.use_4addr = params->use_4addr;
sdata            1889 net/mac80211/iface.c 	list_add_tail_rcu(&sdata->list, &local->interfaces);
sdata            1893 net/mac80211/iface.c 		*new_wdev = &sdata->wdev;
sdata            1898 net/mac80211/iface.c void ieee80211_if_remove(struct ieee80211_sub_if_data *sdata)
sdata            1902 net/mac80211/iface.c 	mutex_lock(&sdata->local->iflist_mtx);
sdata            1903 net/mac80211/iface.c 	list_del_rcu(&sdata->list);
sdata            1904 net/mac80211/iface.c 	mutex_unlock(&sdata->local->iflist_mtx);
sdata            1906 net/mac80211/iface.c 	if (sdata->vif.txq)
sdata            1907 net/mac80211/iface.c 		ieee80211_txq_purge(sdata->local, to_txq_info(sdata->vif.txq));
sdata            1911 net/mac80211/iface.c 	if (sdata->dev) {
sdata            1912 net/mac80211/iface.c 		unregister_netdevice(sdata->dev);
sdata            1914 net/mac80211/iface.c 		cfg80211_unregister_wdev(&sdata->wdev);
sdata            1915 net/mac80211/iface.c 		ieee80211_teardown_sdata(sdata);
sdata            1916 net/mac80211/iface.c 		kfree(sdata);
sdata            1920 net/mac80211/iface.c void ieee80211_sdata_stop(struct ieee80211_sub_if_data *sdata)
sdata            1922 net/mac80211/iface.c 	if (WARN_ON_ONCE(!test_bit(SDATA_STATE_RUNNING, &sdata->state)))
sdata            1924 net/mac80211/iface.c 	ieee80211_do_stop(sdata, true);
sdata            1929 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata, *tmp;
sdata            1954 net/mac80211/iface.c 	list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) {
sdata            1955 net/mac80211/iface.c 		list_del(&sdata->list);
sdata            1957 net/mac80211/iface.c 		if (sdata->dev)
sdata            1958 net/mac80211/iface.c 			unregister_netdevice_queue(sdata->dev, &unreg_list);
sdata            1960 net/mac80211/iface.c 			list_add(&sdata->list, &wdev_list);
sdata            1965 net/mac80211/iface.c 	list_for_each_entry_safe(sdata, tmp, &wdev_list, list) {
sdata            1966 net/mac80211/iface.c 		list_del(&sdata->list);
sdata            1967 net/mac80211/iface.c 		cfg80211_unregister_wdev(&sdata->wdev);
sdata            1968 net/mac80211/iface.c 		kfree(sdata);
sdata            1976 net/mac80211/iface.c 	struct ieee80211_sub_if_data *sdata;
sdata            1987 net/mac80211/iface.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1988 net/mac80211/iface.c 	memcpy(sdata->name, dev->name, IFNAMSIZ);
sdata            1989 net/mac80211/iface.c 	ieee80211_debugfs_rename_netdev(sdata);
sdata            2008 net/mac80211/iface.c void ieee80211_vif_inc_num_mcast(struct ieee80211_sub_if_data *sdata)
sdata            2010 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            2011 net/mac80211/iface.c 		atomic_inc(&sdata->u.ap.num_mcast_sta);
sdata            2012 net/mac80211/iface.c 	else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            2013 net/mac80211/iface.c 		atomic_inc(&sdata->u.vlan.num_mcast_sta);
sdata            2016 net/mac80211/iface.c void ieee80211_vif_dec_num_mcast(struct ieee80211_sub_if_data *sdata)
sdata            2018 net/mac80211/iface.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            2019 net/mac80211/iface.c 		atomic_dec(&sdata->u.ap.num_mcast_sta);
sdata            2020 net/mac80211/iface.c 	else if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            2021 net/mac80211/iface.c 		atomic_dec(&sdata->u.vlan.num_mcast_sta);
sdata              62 net/mac80211/key.c update_vlan_tailroom_need_count(struct ieee80211_sub_if_data *sdata, int delta)
sdata              66 net/mac80211/key.c 	if (sdata->vif.type != NL80211_IFTYPE_AP)
sdata              70 net/mac80211/key.c 	assert_key_lock(sdata->local);
sdata              74 net/mac80211/key.c 	list_for_each_entry_rcu(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata              80 net/mac80211/key.c static void increment_tailroom_need_count(struct ieee80211_sub_if_data *sdata)
sdata             101 net/mac80211/key.c 	assert_key_lock(sdata->local);
sdata             103 net/mac80211/key.c 	update_vlan_tailroom_need_count(sdata, 1);
sdata             105 net/mac80211/key.c 	if (!sdata->crypto_tx_tailroom_needed_cnt++) {
sdata             114 net/mac80211/key.c static void decrease_tailroom_need_count(struct ieee80211_sub_if_data *sdata,
sdata             117 net/mac80211/key.c 	assert_key_lock(sdata->local);
sdata             119 net/mac80211/key.c 	WARN_ON_ONCE(sdata->crypto_tx_tailroom_needed_cnt < delta);
sdata             121 net/mac80211/key.c 	update_vlan_tailroom_need_count(sdata, -delta);
sdata             122 net/mac80211/key.c 	sdata->crypto_tx_tailroom_needed_cnt -= delta;
sdata             127 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata = key->sdata;
sdata             145 net/mac80211/key.c 			increment_tailroom_need_count(sdata);
sdata             169 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             180 net/mac80211/key.c 	ret = drv_set_key(key->local, SET_KEY, sdata,
sdata             189 net/mac80211/key.c 			decrease_tailroom_need_count(sdata, 1);
sdata             201 net/mac80211/key.c 		sdata_err(sdata,
sdata             232 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata;
sdata             247 net/mac80211/key.c 	sdata = key->sdata;
sdata             252 net/mac80211/key.c 		increment_tailroom_need_count(sdata);
sdata             255 net/mac80211/key.c 	ret = drv_set_key(key->local, DISABLE_KEY, sdata,
sdata             259 net/mac80211/key.c 		sdata_err(sdata,
sdata             342 net/mac80211/key.c 			ieee80211_flush_queues(local, old->sdata, false);
sdata             347 net/mac80211/key.c static void __ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata,
sdata             352 net/mac80211/key.c 	assert_key_lock(sdata->local);
sdata             355 net/mac80211/key.c 		key = key_mtx_dereference(sdata->local, sdata->keys[idx]);
sdata             358 net/mac80211/key.c 		rcu_assign_pointer(sdata->default_unicast_key, key);
sdata             359 net/mac80211/key.c 		ieee80211_check_fast_xmit_iface(sdata);
sdata             360 net/mac80211/key.c 		if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN)
sdata             361 net/mac80211/key.c 			drv_set_default_unicast_key(sdata->local, sdata, idx);
sdata             365 net/mac80211/key.c 		rcu_assign_pointer(sdata->default_multicast_key, key);
sdata             367 net/mac80211/key.c 	ieee80211_debugfs_key_update_default(sdata);
sdata             370 net/mac80211/key.c void ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, int idx,
sdata             373 net/mac80211/key.c 	mutex_lock(&sdata->local->key_mtx);
sdata             374 net/mac80211/key.c 	__ieee80211_set_default_key(sdata, idx, uni, multi);
sdata             375 net/mac80211/key.c 	mutex_unlock(&sdata->local->key_mtx);
sdata             379 net/mac80211/key.c __ieee80211_set_default_mgmt_key(struct ieee80211_sub_if_data *sdata, int idx)
sdata             383 net/mac80211/key.c 	assert_key_lock(sdata->local);
sdata             387 net/mac80211/key.c 		key = key_mtx_dereference(sdata->local, sdata->keys[idx]);
sdata             389 net/mac80211/key.c 	rcu_assign_pointer(sdata->default_mgmt_key, key);
sdata             391 net/mac80211/key.c 	ieee80211_debugfs_key_update_default(sdata);
sdata             394 net/mac80211/key.c void ieee80211_set_default_mgmt_key(struct ieee80211_sub_if_data *sdata,
sdata             397 net/mac80211/key.c 	mutex_lock(&sdata->local->key_mtx);
sdata             398 net/mac80211/key.c 	__ieee80211_set_default_mgmt_key(sdata, idx);
sdata             399 net/mac80211/key.c 	mutex_unlock(&sdata->local->key_mtx);
sdata             402 net/mac80211/key.c static int ieee80211_key_replace(struct ieee80211_sub_if_data *sdata,
sdata             417 net/mac80211/key.c 		list_add_tail_rcu(&new->list, &sdata->key_list);
sdata             464 net/mac80211/key.c 			old == key_mtx_dereference(sdata->local,
sdata             465 net/mac80211/key.c 						sdata->default_unicast_key);
sdata             467 net/mac80211/key.c 			old == key_mtx_dereference(sdata->local,
sdata             468 net/mac80211/key.c 						sdata->default_multicast_key);
sdata             470 net/mac80211/key.c 			old == key_mtx_dereference(sdata->local,
sdata             471 net/mac80211/key.c 						sdata->default_mgmt_key);
sdata             474 net/mac80211/key.c 			__ieee80211_set_default_key(sdata, -1, true, false);
sdata             476 net/mac80211/key.c 			__ieee80211_set_default_key(sdata, -1, false, true);
sdata             478 net/mac80211/key.c 			__ieee80211_set_default_mgmt_key(sdata, -1);
sdata             480 net/mac80211/key.c 		rcu_assign_pointer(sdata->keys[idx], new);
sdata             482 net/mac80211/key.c 			__ieee80211_set_default_key(sdata, new->conf.keyidx,
sdata             485 net/mac80211/key.c 			__ieee80211_set_default_key(sdata, new->conf.keyidx,
sdata             488 net/mac80211/key.c 			__ieee80211_set_default_mgmt_key(sdata,
sdata             692 net/mac80211/key.c 		struct ieee80211_sub_if_data *sdata = key->sdata;
sdata             698 net/mac80211/key.c 			sdata->crypto_tx_tailroom_pending_dec++;
sdata             699 net/mac80211/key.c 			schedule_delayed_work(&sdata->dec_tailroom_needed_wk,
sdata             702 net/mac80211/key.c 			decrease_tailroom_need_count(sdata, 1);
sdata             726 net/mac80211/key.c 	WARN_ON(key->sdata || key->local);
sdata             730 net/mac80211/key.c static bool ieee80211_key_identical(struct ieee80211_sub_if_data *sdata,
sdata             748 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata             764 net/mac80211/key.c 		       struct ieee80211_sub_if_data *sdata,
sdata             775 net/mac80211/key.c 	bool delay_tailroom = sdata->vif.type == NL80211_IFTYPE_STATION;
sdata             778 net/mac80211/key.c 	mutex_lock(&sdata->local->key_mtx);
sdata             783 net/mac80211/key.c 		old_key = key_mtx_dereference(sdata->local, sta->ptk[idx]);
sdata             784 net/mac80211/key.c 		alt_key = key_mtx_dereference(sdata->local, sta->ptk[idx ^ 1]);
sdata             793 net/mac80211/key.c 		old_key = key_mtx_dereference(sdata->local, sta->gtk[idx]);
sdata             795 net/mac80211/key.c 		old_key = key_mtx_dereference(sdata->local, sdata->keys[idx]);
sdata             808 net/mac80211/key.c 	if (ieee80211_key_identical(sdata, old_key, key)) {
sdata             814 net/mac80211/key.c 	key->local = sdata->local;
sdata             815 net/mac80211/key.c 	key->sdata = sdata;
sdata             818 net/mac80211/key.c 	increment_tailroom_need_count(sdata);
sdata             820 net/mac80211/key.c 	ret = ieee80211_key_replace(sdata, sta, pairwise, old_key, key);
sdata             830 net/mac80211/key.c 	mutex_unlock(&sdata->local->key_mtx);
sdata             843 net/mac80211/key.c 	if (key->sdata)
sdata             844 net/mac80211/key.c 		ieee80211_key_replace(key->sdata, key->sta,
sdata             850 net/mac80211/key.c void ieee80211_reenable_keys(struct ieee80211_sub_if_data *sdata)
sdata             857 net/mac80211/key.c 	mutex_lock(&sdata->local->key_mtx);
sdata             859 net/mac80211/key.c 	sdata->crypto_tx_tailroom_needed_cnt = 0;
sdata             860 net/mac80211/key.c 	sdata->crypto_tx_tailroom_pending_dec = 0;
sdata             862 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata             863 net/mac80211/key.c 		list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) {
sdata             869 net/mac80211/key.c 	if (ieee80211_sdata_running(sdata)) {
sdata             870 net/mac80211/key.c 		list_for_each_entry(key, &sdata->key_list, list) {
sdata             871 net/mac80211/key.c 			increment_tailroom_need_count(sdata);
sdata             876 net/mac80211/key.c 	mutex_unlock(&sdata->local->key_mtx);
sdata             890 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata;
sdata             896 net/mac80211/key.c 		sdata = vif_to_sdata(vif);
sdata             897 net/mac80211/key.c 		list_for_each_entry_safe(key, tmp, &sdata->key_list, list)
sdata             898 net/mac80211/key.c 			iter(hw, &sdata->vif,
sdata             902 net/mac80211/key.c 		list_for_each_entry(sdata, &local->interfaces, list)
sdata             904 net/mac80211/key.c 						 &sdata->key_list, list)
sdata             905 net/mac80211/key.c 				iter(hw, &sdata->vif,
sdata             915 net/mac80211/key.c 			 struct ieee80211_sub_if_data *sdata,
sdata             925 net/mac80211/key.c 	list_for_each_entry_rcu(key, &sdata->key_list, list) {
sdata             932 net/mac80211/key.c 		iter(hw, &sdata->vif,
sdata             948 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata;
sdata             951 net/mac80211/key.c 		sdata = vif_to_sdata(vif);
sdata             952 net/mac80211/key.c 		_ieee80211_iter_keys_rcu(hw, sdata, iter, iter_data);
sdata             954 net/mac80211/key.c 		list_for_each_entry_rcu(sdata, &local->interfaces, list)
sdata             955 net/mac80211/key.c 			_ieee80211_iter_keys_rcu(hw, sdata, iter, iter_data);
sdata             960 net/mac80211/key.c static void ieee80211_free_keys_iface(struct ieee80211_sub_if_data *sdata,
sdata             965 net/mac80211/key.c 	decrease_tailroom_need_count(sdata,
sdata             966 net/mac80211/key.c 				     sdata->crypto_tx_tailroom_pending_dec);
sdata             967 net/mac80211/key.c 	sdata->crypto_tx_tailroom_pending_dec = 0;
sdata             969 net/mac80211/key.c 	ieee80211_debugfs_key_remove_mgmt_default(sdata);
sdata             971 net/mac80211/key.c 	list_for_each_entry_safe(key, tmp, &sdata->key_list, list) {
sdata             972 net/mac80211/key.c 		ieee80211_key_replace(key->sdata, key->sta,
sdata             978 net/mac80211/key.c 	ieee80211_debugfs_key_update_default(sdata);
sdata             981 net/mac80211/key.c void ieee80211_free_keys(struct ieee80211_sub_if_data *sdata,
sdata             984 net/mac80211/key.c 	struct ieee80211_local *local = sdata->local;
sdata             990 net/mac80211/key.c 	cancel_delayed_work_sync(&sdata->dec_tailroom_needed_wk);
sdata             994 net/mac80211/key.c 	ieee80211_free_keys_iface(sdata, &keys);
sdata             996 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata             997 net/mac80211/key.c 		list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata            1006 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata            1007 net/mac80211/key.c 		if (sdata->bss) {
sdata            1008 net/mac80211/key.c 			master = container_of(sdata->bss,
sdata            1012 net/mac80211/key.c 			WARN_ON_ONCE(sdata->crypto_tx_tailroom_needed_cnt !=
sdata            1016 net/mac80211/key.c 		WARN_ON_ONCE(sdata->crypto_tx_tailroom_needed_cnt ||
sdata            1017 net/mac80211/key.c 			     sdata->crypto_tx_tailroom_pending_dec);
sdata            1020 net/mac80211/key.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            1021 net/mac80211/key.c 		list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list)
sdata            1040 net/mac80211/key.c 		ieee80211_key_replace(key->sdata, key->sta,
sdata            1043 net/mac80211/key.c 		__ieee80211_key_destroy(key, key->sdata->vif.type ==
sdata            1051 net/mac80211/key.c 		ieee80211_key_replace(key->sdata, key->sta,
sdata            1054 net/mac80211/key.c 		__ieee80211_key_destroy(key, key->sdata->vif.type ==
sdata            1063 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata;
sdata            1065 net/mac80211/key.c 	sdata = container_of(wk, struct ieee80211_sub_if_data,
sdata            1084 net/mac80211/key.c 	mutex_lock(&sdata->local->key_mtx);
sdata            1085 net/mac80211/key.c 	decrease_tailroom_need_count(sdata,
sdata            1086 net/mac80211/key.c 				     sdata->crypto_tx_tailroom_pending_dec);
sdata            1087 net/mac80211/key.c 	sdata->crypto_tx_tailroom_pending_dec = 0;
sdata            1088 net/mac80211/key.c 	mutex_unlock(&sdata->local->key_mtx);
sdata            1094 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            1096 net/mac80211/key.c 	trace_api_gtk_rekey_notify(sdata, bssid, replay_ctr);
sdata            1098 net/mac80211/key.c 	cfg80211_gtk_rekey_notify(sdata->dev, bssid, replay_ctr, gfp);
sdata            1229 net/mac80211/key.c 			increment_tailroom_need_count(key->sdata);
sdata            1240 net/mac80211/key.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            1241 net/mac80211/key.c 	struct ieee80211_local *local = sdata->local;
sdata            1257 net/mac80211/key.c 	if (sdata->u.mgd.mfp != IEEE80211_MFP_DISABLED)
sdata            1260 net/mac80211/key.c 	err = ieee80211_key_link(key, sdata, NULL);
sdata              60 net/mac80211/key.h 	struct ieee80211_sub_if_data *sdata;
sdata             147 net/mac80211/key.h 		       struct ieee80211_sub_if_data *sdata,
sdata             152 net/mac80211/key.h void ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, int idx,
sdata             154 net/mac80211/key.h void ieee80211_set_default_mgmt_key(struct ieee80211_sub_if_data *sdata,
sdata             156 net/mac80211/key.h void ieee80211_free_keys(struct ieee80211_sub_if_data *sdata,
sdata             160 net/mac80211/key.h void ieee80211_reenable_keys(struct ieee80211_sub_if_data *sdata);
sdata              93 net/mac80211/main.c 	struct ieee80211_sub_if_data *sdata;
sdata             144 net/mac80211/main.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             145 net/mac80211/main.c 		if (!rcu_access_pointer(sdata->vif.chanctx_conf))
sdata             147 net/mac80211/main.c 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata             149 net/mac80211/main.c 		power = min(power, sdata->vif.bss_conf.txpower);
sdata             195 net/mac80211/main.c void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
sdata             198 net/mac80211/main.c 	struct ieee80211_local *local = sdata->local;
sdata             200 net/mac80211/main.c 	if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata             203 net/mac80211/main.c 	drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed);
sdata             206 net/mac80211/main.c u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata)
sdata             208 net/mac80211/main.c 	sdata->vif.bss_conf.use_cts_prot = false;
sdata             209 net/mac80211/main.c 	sdata->vif.bss_conf.use_short_preamble = false;
sdata             210 net/mac80211/main.c 	sdata->vif.bss_conf.use_short_slot = false;
sdata             247 net/mac80211/main.c 	struct ieee80211_sub_if_data *sdata;
sdata             258 net/mac80211/main.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata             267 net/mac80211/main.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata             275 net/mac80211/main.c 			cancel_work_sync(&sdata->u.mgd.csa_connection_drop_work);
sdata             277 net/mac80211/main.c 		flush_delayed_work(&sdata->dec_tailroom_needed_wk);
sdata             328 net/mac80211/main.c 	struct ieee80211_sub_if_data *sdata;
sdata             340 net/mac80211/main.c 	sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
sdata             341 net/mac80211/main.c 	bss_conf = &sdata->vif.bss_conf;
sdata             344 net/mac80211/main.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata             347 net/mac80211/main.c 	idev = __in_dev_get_rtnl(sdata->dev);
sdata             351 net/mac80211/main.c 	ifmgd = &sdata->u.mgd;
sdata             352 net/mac80211/main.c 	sdata_lock(sdata);
sdata             367 net/mac80211/main.c 		ieee80211_bss_info_change_notify(sdata,
sdata             370 net/mac80211/main.c 	sdata_unlock(sdata);
sdata             386 net/mac80211/main.c 	struct ieee80211_sub_if_data *sdata;
sdata             392 net/mac80211/main.c 	sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
sdata             398 net/mac80211/main.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata             401 net/mac80211/main.c 	drv_ipv6_addr_change(local, sdata, idev);
sdata              40 net/mac80211/mesh.c 	struct ieee80211_sub_if_data *sdata =
sdata              41 net/mac80211/mesh.c 		from_timer(sdata, t, u.mesh.housekeeping_timer);
sdata              42 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata              43 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata              47 net/mac80211/mesh.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata              59 net/mac80211/mesh.c bool mesh_matches_local(struct ieee80211_sub_if_data *sdata,
sdata              62 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata              86 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata              90 net/mac80211/mesh.c 	ieee80211_sta_get_rates(sdata, ie, sband->band,
sdata              93 net/mac80211/mesh.c 	if (sdata->vif.bss_conf.basic_rates != basic_rates)
sdata              96 net/mac80211/mesh.c 	cfg80211_chandef_create(&sta_chan_def, sdata->vif.bss_conf.chandef.chan,
sdata              99 net/mac80211/mesh.c 	ieee80211_chandef_vht_oper(&sdata->local->hw,
sdata             103 net/mac80211/mesh.c 	if (!cfg80211_chandef_compatible(&sdata->vif.bss_conf.chandef,
sdata             128 net/mac80211/mesh.c u32 mesh_accept_plinks_update(struct ieee80211_sub_if_data *sdata)
sdata             139 net/mac80211/mesh.c 	free_plinks = mesh_plink_availables(sdata);
sdata             141 net/mac80211/mesh.c 	if (free_plinks != sdata->u.mesh.accepting_plinks) {
sdata             142 net/mac80211/mesh.c 		sdata->u.mesh.accepting_plinks = free_plinks;
sdata             156 net/mac80211/mesh.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             160 net/mac80211/mesh.c 		ieee80211_mbss_info_change_notify(sdata, changed);
sdata             163 net/mac80211/mesh.c int mesh_rmc_init(struct ieee80211_sub_if_data *sdata)
sdata             167 net/mac80211/mesh.c 	sdata->u.mesh.rmc = kmalloc(sizeof(struct mesh_rmc), GFP_KERNEL);
sdata             168 net/mac80211/mesh.c 	if (!sdata->u.mesh.rmc)
sdata             170 net/mac80211/mesh.c 	sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1;
sdata             172 net/mac80211/mesh.c 		INIT_HLIST_HEAD(&sdata->u.mesh.rmc->bucket[i]);
sdata             176 net/mac80211/mesh.c void mesh_rmc_free(struct ieee80211_sub_if_data *sdata)
sdata             178 net/mac80211/mesh.c 	struct mesh_rmc *rmc = sdata->u.mesh.rmc;
sdata             183 net/mac80211/mesh.c 	if (!sdata->u.mesh.rmc)
sdata             194 net/mac80211/mesh.c 	sdata->u.mesh.rmc = NULL;
sdata             210 net/mac80211/mesh.c int mesh_rmc_check(struct ieee80211_sub_if_data *sdata,
sdata             213 net/mac80211/mesh.c 	struct mesh_rmc *rmc = sdata->u.mesh.rmc;
sdata             248 net/mac80211/mesh.c int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
sdata             251 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             294 net/mac80211/mesh.c int mesh_add_meshid_ie(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
sdata             296 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             311 net/mac80211/mesh.c static int mesh_add_awake_window_ie(struct ieee80211_sub_if_data *sdata,
sdata             314 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             334 net/mac80211/mesh.c int mesh_add_vendor_ies(struct ieee80211_sub_if_data *sdata,
sdata             337 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             358 net/mac80211/mesh.c int mesh_add_rsn_ie(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
sdata             360 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             381 net/mac80211/mesh.c static int mesh_add_ds_params_ie(struct ieee80211_sub_if_data *sdata,
sdata             392 net/mac80211/mesh.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             408 net/mac80211/mesh.c int mesh_add_ht_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             414 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata             419 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             420 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             421 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             433 net/mac80211/mesh.c int mesh_add_ht_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             436 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata             444 net/mac80211/mesh.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             456 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             457 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             458 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             465 net/mac80211/mesh.c 	ieee80211_ie_build_ht_oper(pos, ht_cap, &sdata->vif.bss_conf.chandef,
sdata             466 net/mac80211/mesh.c 				   sdata->vif.bss_conf.ht_operation_mode,
sdata             472 net/mac80211/mesh.c int mesh_add_vht_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             478 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata             483 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             484 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             485 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             497 net/mac80211/mesh.c int mesh_add_vht_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             500 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata             508 net/mac80211/mesh.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             520 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             521 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             522 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             530 net/mac80211/mesh.c 				    &sdata->vif.bss_conf.chandef);
sdata             535 net/mac80211/mesh.c int mesh_add_he_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             542 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata             549 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             550 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             551 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             563 net/mac80211/mesh.c int mesh_add_he_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             570 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata             576 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
sdata             577 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_5 ||
sdata             578 net/mac80211/mesh.c 	    sdata->vif.bss_conf.chandef.width == NL80211_CHAN_WIDTH_10)
sdata             592 net/mac80211/mesh.c 	struct ieee80211_sub_if_data *sdata =
sdata             593 net/mac80211/mesh.c 		from_timer(sdata, t, u.mesh.mesh_path_timer);
sdata             595 net/mac80211/mesh.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             600 net/mac80211/mesh.c 	struct ieee80211_sub_if_data *sdata =
sdata             601 net/mac80211/mesh.c 		from_timer(sdata, t, u.mesh.mesh_path_root_timer);
sdata             602 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             606 net/mac80211/mesh.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             663 net/mac80211/mesh.c unsigned int ieee80211_new_mesh_header(struct ieee80211_sub_if_data *sdata,
sdata             672 net/mac80211/mesh.c 	meshhdr->ttl = sdata->u.mesh.mshcfg.dot11MeshTTL;
sdata             675 net/mac80211/mesh.c 	put_unaligned(cpu_to_le32(sdata->u.mesh.mesh_seqnum), &meshhdr->seqnum);
sdata             676 net/mac80211/mesh.c 	sdata->u.mesh.mesh_seqnum++;
sdata             692 net/mac80211/mesh.c static void ieee80211_mesh_housekeeping(struct ieee80211_sub_if_data *sdata)
sdata             694 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             698 net/mac80211/mesh.c 		ieee80211_sta_expire(sdata, ifmsh->mshcfg.plink_timeout * HZ);
sdata             699 net/mac80211/mesh.c 	mesh_path_expire(sdata);
sdata             701 net/mac80211/mesh.c 	changed = mesh_accept_plinks_update(sdata);
sdata             702 net/mac80211/mesh.c 	ieee80211_mbss_info_change_notify(sdata, changed);
sdata             709 net/mac80211/mesh.c static void ieee80211_mesh_rootpath(struct ieee80211_sub_if_data *sdata)
sdata             711 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             714 net/mac80211/mesh.c 	mesh_path_tx_root_frame(sdata);
sdata             737 net/mac80211/mesh.c 	struct ieee80211_sub_if_data *sdata;
sdata             740 net/mac80211/mesh.c 	sdata = container_of(ifmsh, struct ieee80211_sub_if_data, u.mesh);
sdata             742 net/mac80211/mesh.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             746 net/mac80211/mesh.c 	ie_len_he_cap = ieee80211_ie_len_he_cap(sdata,
sdata             789 net/mac80211/mesh.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             790 net/mac80211/mesh.c 	memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             791 net/mac80211/mesh.c 	ieee80211_mps_set_frame_flags(sdata, NULL, (void *) mgmt);
sdata             793 net/mac80211/mesh.c 		cpu_to_le16(sdata->vif.bss_conf.beacon_int);
sdata             795 net/mac80211/mesh.c 		sdata->u.mesh.security ? WLAN_CAPABILITY_PRIVACY : 0);
sdata             866 net/mac80211/mesh.c 	if (ieee80211_add_srates_ie(sdata, skb, true, band) ||
sdata             867 net/mac80211/mesh.c 	    mesh_add_ds_params_ie(sdata, skb))
sdata             877 net/mac80211/mesh.c 	if (ieee80211_add_ext_srates_ie(sdata, skb, true, band) ||
sdata             878 net/mac80211/mesh.c 	    mesh_add_rsn_ie(sdata, skb) ||
sdata             879 net/mac80211/mesh.c 	    mesh_add_ht_cap_ie(sdata, skb) ||
sdata             880 net/mac80211/mesh.c 	    mesh_add_ht_oper_ie(sdata, skb) ||
sdata             881 net/mac80211/mesh.c 	    mesh_add_meshid_ie(sdata, skb) ||
sdata             882 net/mac80211/mesh.c 	    mesh_add_meshconf_ie(sdata, skb) ||
sdata             883 net/mac80211/mesh.c 	    mesh_add_awake_window_ie(sdata, skb) ||
sdata             884 net/mac80211/mesh.c 	    mesh_add_vht_cap_ie(sdata, skb) ||
sdata             885 net/mac80211/mesh.c 	    mesh_add_vht_oper_ie(sdata, skb) ||
sdata             886 net/mac80211/mesh.c 	    mesh_add_he_cap_ie(sdata, skb, ie_len_he_cap) ||
sdata             887 net/mac80211/mesh.c 	    mesh_add_he_oper_ie(sdata, skb) ||
sdata             888 net/mac80211/mesh.c 	    mesh_add_vendor_ies(sdata, skb))
sdata             906 net/mac80211/mesh.c ieee80211_mesh_rebuild_beacon(struct ieee80211_sub_if_data *sdata)
sdata             911 net/mac80211/mesh.c 	old_bcn = rcu_dereference_protected(sdata->u.mesh.beacon,
sdata             912 net/mac80211/mesh.c 					    lockdep_is_held(&sdata->wdev.mtx));
sdata             913 net/mac80211/mesh.c 	ret = ieee80211_mesh_build_beacon(&sdata->u.mesh);
sdata             923 net/mac80211/mesh.c void ieee80211_mbss_info_change_notify(struct ieee80211_sub_if_data *sdata,
sdata             926 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             937 net/mac80211/mesh.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             940 net/mac80211/mesh.c int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata)
sdata             942 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             943 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata             962 net/mac80211/mesh.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata             963 net/mac80211/mesh.c 	sdata->vif.bss_conf.ht_operation_mode =
sdata             965 net/mac80211/mesh.c 	sdata->vif.bss_conf.enable_beacon = true;
sdata             967 net/mac80211/mesh.c 	changed |= ieee80211_mps_local_status_update(sdata);
sdata             970 net/mac80211/mesh.c 		ieee80211_stop_mesh(sdata);
sdata             974 net/mac80211/mesh.c 	ieee80211_recalc_dtim(local, sdata);
sdata             975 net/mac80211/mesh.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata             977 net/mac80211/mesh.c 	netif_carrier_on(sdata->dev);
sdata             981 net/mac80211/mesh.c void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata)
sdata             983 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata             984 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             987 net/mac80211/mesh.c 	netif_carrier_off(sdata->dev);
sdata             990 net/mac80211/mesh.c 	sta_info_flush(sdata);
sdata             991 net/mac80211/mesh.c 	ieee80211_free_keys(sdata, true);
sdata             992 net/mac80211/mesh.c 	mesh_path_flush_by_iface(sdata);
sdata             996 net/mac80211/mesh.c 	sdata->vif.bss_conf.enable_beacon = false;
sdata             997 net/mac80211/mesh.c 	clear_bit(SDATA_STATE_OFFCHANNEL_BEACON_STOPPED, &sdata->state);
sdata             998 net/mac80211/mesh.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED);
sdata            1002 net/mac80211/mesh.c 					lockdep_is_held(&sdata->wdev.mtx));
sdata            1010 net/mac80211/mesh.c 	del_timer_sync(&sdata->u.mesh.housekeeping_timer);
sdata            1011 net/mac80211/mesh.c 	del_timer_sync(&sdata->u.mesh.mesh_path_root_timer);
sdata            1012 net/mac80211/mesh.c 	del_timer_sync(&sdata->u.mesh.mesh_path_timer);
sdata            1023 net/mac80211/mesh.c static void ieee80211_mesh_csa_mark_radar(struct ieee80211_sub_if_data *sdata)
sdata            1030 net/mac80211/mesh.c 	err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy,
sdata            1031 net/mac80211/mesh.c 					    &sdata->vif.bss_conf.chandef,
sdata            1034 net/mac80211/mesh.c 		cfg80211_radar_event(sdata->local->hw.wiphy,
sdata            1035 net/mac80211/mesh.c 				     &sdata->vif.bss_conf.chandef, GFP_ATOMIC);
sdata            1039 net/mac80211/mesh.c ieee80211_mesh_process_chnswitch(struct ieee80211_sub_if_data *sdata,
sdata            1044 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1049 net/mac80211/mesh.c 	sdata_assert_lock(sdata);
sdata            1051 net/mac80211/mesh.c 	sband = ieee80211_get_sband(sdata);
sdata            1056 net/mac80211/mesh.c 	switch (sdata->vif.bss_conf.chandef.width) {
sdata            1071 net/mac80211/mesh.c 	err = ieee80211_parse_ch_switch_ie(sdata, elems, sband->band,
sdata            1072 net/mac80211/mesh.c 					   sta_flags, sdata->vif.addr,
sdata            1083 net/mac80211/mesh.c 		ieee80211_mesh_csa_mark_radar(sdata);
sdata            1088 net/mac80211/mesh.c 	if (!cfg80211_chandef_usable(sdata->local->hw.wiphy, &params.chandef,
sdata            1090 net/mac80211/mesh.c 	    !cfg80211_reg_can_beacon(sdata->local->hw.wiphy, &params.chandef,
sdata            1092 net/mac80211/mesh.c 		sdata_info(sdata,
sdata            1094 net/mac80211/mesh.c 			   sdata->vif.addr,
sdata            1102 net/mac80211/mesh.c 	err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy,
sdata            1108 net/mac80211/mesh.c 		sdata_info(sdata,
sdata            1110 net/mac80211/mesh.c 			   sdata->vif.addr,
sdata            1121 net/mac80211/mesh.c 				       &sdata->vif.bss_conf.chandef)) {
sdata            1122 net/mac80211/mesh.c 		mcsa_dbg(sdata,
sdata            1127 net/mac80211/mesh.c 	mcsa_dbg(sdata,
sdata            1144 net/mac80211/mesh.c 	if (ieee80211_channel_switch(sdata->local->hw.wiphy, sdata->dev,
sdata            1152 net/mac80211/mesh.c ieee80211_mesh_rx_probe_req(struct ieee80211_sub_if_data *sdata,
sdata            1155 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata            1156 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1176 net/mac80211/mesh.c 	if ((!ether_addr_equal(mgmt->da, sdata->vif.addr) &&
sdata            1205 net/mac80211/mesh.c 	ieee80211_tx_skb(sdata, presp);
sdata            1210 net/mac80211/mesh.c static void ieee80211_mesh_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
sdata            1216 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata            1217 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1226 net/mac80211/mesh.c 	    !ether_addr_equal(mgmt->da, sdata->vif.addr))
sdata            1238 net/mac80211/mesh.c 	    (elems.rsn && sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) ||
sdata            1239 net/mac80211/mesh.c 	    (!elems.rsn && sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE))
sdata            1252 net/mac80211/mesh.c 	if (mesh_matches_local(sdata, &elems)) {
sdata            1253 net/mac80211/mesh.c 		mpl_dbg(sdata, "rssi_threshold=%d,rx_status->signal=%d\n",
sdata            1254 net/mac80211/mesh.c 			sdata->u.mesh.mshcfg.rssi_threshold, rx_status->signal);
sdata            1255 net/mac80211/mesh.c 		if (!sdata->u.mesh.user_mpm ||
sdata            1256 net/mac80211/mesh.c 		    sdata->u.mesh.mshcfg.rssi_threshold == 0 ||
sdata            1257 net/mac80211/mesh.c 		    sdata->u.mesh.mshcfg.rssi_threshold < rx_status->signal)
sdata            1258 net/mac80211/mesh.c 			mesh_neighbour_update(sdata, mgmt->sa, &elems,
sdata            1262 net/mac80211/mesh.c 		    !sdata->vif.csa_active)
sdata            1263 net/mac80211/mesh.c 			ieee80211_mesh_process_chnswitch(sdata, &elems, true);
sdata            1267 net/mac80211/mesh.c 		ifmsh->sync_ops->rx_bcn_presp(sdata,
sdata            1271 net/mac80211/mesh.c int ieee80211_mesh_finish_csa(struct ieee80211_sub_if_data *sdata)
sdata            1273 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1284 net/mac80211/mesh.c 					    lockdep_is_held(&sdata->wdev.mtx));
sdata            1288 net/mac80211/mesh.c 	ret = ieee80211_mesh_rebuild_beacon(sdata);
sdata            1294 net/mac80211/mesh.c 	mcsa_dbg(sdata, "complete switching to center freq %d MHz",
sdata            1295 net/mac80211/mesh.c 		 sdata->vif.bss_conf.chandef.chan->center_freq);
sdata            1299 net/mac80211/mesh.c int ieee80211_mesh_csa_beacon(struct ieee80211_sub_if_data *sdata,
sdata            1302 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1306 net/mac80211/mesh.c 	lockdep_assert_held(&sdata->wdev.mtx);
sdata            1318 net/mac80211/mesh.c 	ret = ieee80211_mesh_rebuild_beacon(sdata);
sdata            1329 net/mac80211/mesh.c static int mesh_fwd_csa_frame(struct ieee80211_sub_if_data *sdata,
sdata            1335 net/mac80211/mesh.c 	struct ieee80211_local *local = sdata->local;
sdata            1349 net/mac80211/mesh.c 	memcpy(mgmt_fwd->sa, sdata->vif.addr, ETH_ALEN);
sdata            1350 net/mac80211/mesh.c 	memcpy(mgmt_fwd->bssid, sdata->vif.addr, ETH_ALEN);
sdata            1352 net/mac80211/mesh.c 	ieee80211_tx_skb(sdata, skb);
sdata            1356 net/mac80211/mesh.c static void mesh_rx_csa_frame(struct ieee80211_sub_if_data *sdata,
sdata            1359 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1376 net/mac80211/mesh.c 	if (!mesh_matches_local(sdata, &elems))
sdata            1389 net/mac80211/mesh.c 	if (!sdata->vif.csa_active &&
sdata            1390 net/mac80211/mesh.c 	    !ieee80211_mesh_process_chnswitch(sdata, &elems, false)) {
sdata            1391 net/mac80211/mesh.c 		mcsa_dbg(sdata, "Failed to process CSA action frame");
sdata            1397 net/mac80211/mesh.c 		if (mesh_fwd_csa_frame(sdata, mgmt, len, &elems) < 0)
sdata            1398 net/mac80211/mesh.c 			mcsa_dbg(sdata, "Failed to forward the CSA frame");
sdata            1402 net/mac80211/mesh.c static void ieee80211_mesh_rx_mgmt_action(struct ieee80211_sub_if_data *sdata,
sdata            1413 net/mac80211/mesh.c 			mesh_rx_plink_frame(sdata, mgmt, len, rx_status);
sdata            1419 net/mac80211/mesh.c 			mesh_rx_path_sel_frame(sdata, mgmt, len);
sdata            1422 net/mac80211/mesh.c 		mesh_rx_csa_frame(sdata, mgmt, len);
sdata            1427 net/mac80211/mesh.c void ieee80211_mesh_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            1434 net/mac80211/mesh.c 	sdata_lock(sdata);
sdata            1437 net/mac80211/mesh.c 	if (!sdata->u.mesh.mesh_id_len)
sdata            1447 net/mac80211/mesh.c 		ieee80211_mesh_rx_bcn_presp(sdata, stype, mgmt, skb->len,
sdata            1451 net/mac80211/mesh.c 		ieee80211_mesh_rx_probe_req(sdata, mgmt, skb->len);
sdata            1454 net/mac80211/mesh.c 		ieee80211_mesh_rx_mgmt_action(sdata, mgmt, skb->len, rx_status);
sdata            1458 net/mac80211/mesh.c 	sdata_unlock(sdata);
sdata            1461 net/mac80211/mesh.c static void mesh_bss_info_changed(struct ieee80211_sub_if_data *sdata)
sdata            1463 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1472 net/mac80211/mesh.c 	if (sdata->vif.bss_conf.enable_beacon &&
sdata            1477 net/mac80211/mesh.c 		if (ieee80211_mesh_rebuild_beacon(sdata))
sdata            1480 net/mac80211/mesh.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            1483 net/mac80211/mesh.c void ieee80211_mesh_work(struct ieee80211_sub_if_data *sdata)
sdata            1485 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1487 net/mac80211/mesh.c 	sdata_lock(sdata);
sdata            1490 net/mac80211/mesh.c 	if (!sdata->u.mesh.mesh_id_len)
sdata            1496 net/mac80211/mesh.c 		mesh_path_start_discovery(sdata);
sdata            1499 net/mac80211/mesh.c 		ieee80211_mesh_housekeeping(sdata);
sdata            1502 net/mac80211/mesh.c 		ieee80211_mesh_rootpath(sdata);
sdata            1505 net/mac80211/mesh.c 		mesh_sync_adjust_tsf(sdata);
sdata            1508 net/mac80211/mesh.c 		mesh_bss_info_changed(sdata);
sdata            1510 net/mac80211/mesh.c 	sdata_unlock(sdata);
sdata            1514 net/mac80211/mesh.c void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata)
sdata            1516 net/mac80211/mesh.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1524 net/mac80211/mesh.c 	mesh_rmc_init(sdata);
sdata            1532 net/mac80211/mesh.c 	mesh_pathtbl_init(sdata);
sdata            1543 net/mac80211/mesh.c 	sdata->vif.bss_conf.bssid = zero_addr;
sdata            1546 net/mac80211/mesh.c void ieee80211_mesh_teardown_sdata(struct ieee80211_sub_if_data *sdata)
sdata            1548 net/mac80211/mesh.c 	mesh_rmc_free(sdata);
sdata            1549 net/mac80211/mesh.c 	mesh_pathtbl_unregister(sdata);
sdata             109 net/mac80211/mesh.h 	struct ieee80211_sub_if_data *sdata;
sdata             197 net/mac80211/mesh.h unsigned int ieee80211_new_mesh_header(struct ieee80211_sub_if_data *sdata,
sdata             200 net/mac80211/mesh.h int mesh_rmc_check(struct ieee80211_sub_if_data *sdata,
sdata             202 net/mac80211/mesh.h bool mesh_matches_local(struct ieee80211_sub_if_data *sdata,
sdata             205 net/mac80211/mesh.h int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
sdata             207 net/mac80211/mesh.h int mesh_add_meshid_ie(struct ieee80211_sub_if_data *sdata,
sdata             209 net/mac80211/mesh.h int mesh_add_rsn_ie(struct ieee80211_sub_if_data *sdata,
sdata             211 net/mac80211/mesh.h int mesh_add_vendor_ies(struct ieee80211_sub_if_data *sdata,
sdata             213 net/mac80211/mesh.h int mesh_add_ht_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             215 net/mac80211/mesh.h int mesh_add_ht_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             217 net/mac80211/mesh.h int mesh_add_vht_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             219 net/mac80211/mesh.h int mesh_add_vht_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             221 net/mac80211/mesh.h int mesh_add_he_cap_ie(struct ieee80211_sub_if_data *sdata,
sdata             223 net/mac80211/mesh.h int mesh_add_he_oper_ie(struct ieee80211_sub_if_data *sdata,
sdata             225 net/mac80211/mesh.h void mesh_rmc_free(struct ieee80211_sub_if_data *sdata);
sdata             226 net/mac80211/mesh.h int mesh_rmc_init(struct ieee80211_sub_if_data *sdata);
sdata             231 net/mac80211/mesh.h void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata);
sdata             232 net/mac80211/mesh.h void ieee80211_mesh_teardown_sdata(struct ieee80211_sub_if_data *sdata);
sdata             233 net/mac80211/mesh.h int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata);
sdata             234 net/mac80211/mesh.h void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata);
sdata             238 net/mac80211/mesh.h void ieee80211_mbss_info_change_notify(struct ieee80211_sub_if_data *sdata,
sdata             242 net/mac80211/mesh.h u32 ieee80211_mps_local_status_update(struct ieee80211_sub_if_data *sdata);
sdata             245 net/mac80211/mesh.h void ieee80211_mps_set_frame_flags(struct ieee80211_sub_if_data *sdata,
sdata             257 net/mac80211/mesh.h int mesh_nexthop_lookup(struct ieee80211_sub_if_data *sdata,
sdata             259 net/mac80211/mesh.h int mesh_nexthop_resolve(struct ieee80211_sub_if_data *sdata,
sdata             261 net/mac80211/mesh.h void mesh_path_start_discovery(struct ieee80211_sub_if_data *sdata);
sdata             262 net/mac80211/mesh.h struct mesh_path *mesh_path_lookup(struct ieee80211_sub_if_data *sdata,
sdata             264 net/mac80211/mesh.h struct mesh_path *mpp_path_lookup(struct ieee80211_sub_if_data *sdata,
sdata             266 net/mac80211/mesh.h int mpp_path_add(struct ieee80211_sub_if_data *sdata,
sdata             269 net/mac80211/mesh.h mesh_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx);
sdata             271 net/mac80211/mesh.h mpp_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx);
sdata             273 net/mac80211/mesh.h void mesh_path_expire(struct ieee80211_sub_if_data *sdata);
sdata             274 net/mac80211/mesh.h void mesh_rx_path_sel_frame(struct ieee80211_sub_if_data *sdata,
sdata             277 net/mac80211/mesh.h mesh_path_add(struct ieee80211_sub_if_data *sdata, const u8 *dst);
sdata             281 net/mac80211/mesh.h int mesh_gate_num(struct ieee80211_sub_if_data *sdata);
sdata             286 net/mac80211/mesh.h void mesh_neighbour_update(struct ieee80211_sub_if_data *sdata,
sdata             290 net/mac80211/mesh.h u32 mesh_accept_plinks_update(struct ieee80211_sub_if_data *sdata);
sdata             296 net/mac80211/mesh.h void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
sdata             303 net/mac80211/mesh.h int mesh_path_error_tx(struct ieee80211_sub_if_data *sdata,
sdata             309 net/mac80211/mesh.h int mesh_pathtbl_init(struct ieee80211_sub_if_data *sdata);
sdata             310 net/mac80211/mesh.h void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata);
sdata             311 net/mac80211/mesh.h int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr);
sdata             314 net/mac80211/mesh.h void mesh_path_discard_frame(struct ieee80211_sub_if_data *sdata,
sdata             316 net/mac80211/mesh.h void mesh_path_tx_root_frame(struct ieee80211_sub_if_data *sdata);
sdata             322 net/mac80211/mesh.h u32 mesh_plink_inc_estab_count(struct ieee80211_sub_if_data *sdata)
sdata             324 net/mac80211/mesh.h 	atomic_inc(&sdata->u.mesh.estab_plinks);
sdata             325 net/mac80211/mesh.h 	return mesh_accept_plinks_update(sdata) | BSS_CHANGED_BEACON;
sdata             329 net/mac80211/mesh.h u32 mesh_plink_dec_estab_count(struct ieee80211_sub_if_data *sdata)
sdata             331 net/mac80211/mesh.h 	atomic_dec(&sdata->u.mesh.estab_plinks);
sdata             332 net/mac80211/mesh.h 	return mesh_accept_plinks_update(sdata) | BSS_CHANGED_BEACON;
sdata             335 net/mac80211/mesh.h static inline int mesh_plink_free_count(struct ieee80211_sub_if_data *sdata)
sdata             337 net/mac80211/mesh.h 	return sdata->u.mesh.mshcfg.dot11MeshMaxPeerLinks -
sdata             338 net/mac80211/mesh.h 	       atomic_read(&sdata->u.mesh.estab_plinks);
sdata             341 net/mac80211/mesh.h static inline bool mesh_plink_availables(struct ieee80211_sub_if_data *sdata)
sdata             343 net/mac80211/mesh.h 	return (min_t(long, mesh_plink_free_count(sdata),
sdata             344 net/mac80211/mesh.h 		   MESH_MAX_PLINKS - sdata->local->num_sta)) > 0;
sdata             352 net/mac80211/mesh.h static inline bool mesh_path_sel_is_hwmp(struct ieee80211_sub_if_data *sdata)
sdata             354 net/mac80211/mesh.h 	return sdata->u.mesh.mesh_pp_id == IEEE80211_PATH_PROTOCOL_HWMP;
sdata             357 net/mac80211/mesh.h void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata);
sdata             358 net/mac80211/mesh.h void mesh_sync_adjust_tsf(struct ieee80211_sub_if_data *sdata);
sdata             361 net/mac80211/mesh.h static inline bool mesh_path_sel_is_hwmp(struct ieee80211_sub_if_data *sdata)
sdata             363 net/mac80211/mesh.h static inline void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata)
sdata              87 net/mac80211/mesh_hwmp.c 	msecs_to_jiffies(sdata->u.mesh.mshcfg.min_discovery_timeout)
sdata              89 net/mac80211/mesh_hwmp.c 	msecs_to_jiffies(sdata->u.mesh.mshcfg.dot11MeshHWMPconfirmationInterval)
sdata             106 net/mac80211/mesh_hwmp.c 				  struct ieee80211_sub_if_data *sdata)
sdata             108 net/mac80211/mesh_hwmp.c 	struct ieee80211_local *local = sdata->local;
sdata             126 net/mac80211/mesh_hwmp.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             128 net/mac80211/mesh_hwmp.c 	memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             135 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "sending PREQ to %pM\n", target);
sdata             141 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "sending PREP to %pM\n", orig_addr);
sdata             147 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "sending RANN from %pM\n", orig_addr);
sdata             193 net/mac80211/mesh_hwmp.c 	ieee80211_tx_skb(sdata, skb);
sdata             200 net/mac80211/mesh_hwmp.c static void prepare_frame_for_deferred_tx(struct ieee80211_sub_if_data *sdata,
sdata             214 net/mac80211/mesh_hwmp.c 	info->control.vif = &sdata->vif;
sdata             216 net/mac80211/mesh_hwmp.c 	ieee80211_set_qos_hdr(sdata, skb);
sdata             217 net/mac80211/mesh_hwmp.c 	ieee80211_mps_set_frame_flags(sdata, NULL, hdr);
sdata             234 net/mac80211/mesh_hwmp.c int mesh_path_error_tx(struct ieee80211_sub_if_data *sdata,
sdata             238 net/mac80211/mesh_hwmp.c 	struct ieee80211_local *local = sdata->local;
sdata             240 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             250 net/mac80211/mesh_hwmp.c 			    sdata->encrypt_headroom +
sdata             256 net/mac80211/mesh_hwmp.c 	skb_reserve(skb, local->tx_headroom + sdata->encrypt_headroom);
sdata             262 net/mac80211/mesh_hwmp.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             264 net/mac80211/mesh_hwmp.c 	memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             288 net/mac80211/mesh_hwmp.c 	prepare_frame_for_deferred_tx(sdata, skb);
sdata             380 net/mac80211/mesh_hwmp.c static u32 hwmp_route_info_get(struct ieee80211_sub_if_data *sdata,
sdata             384 net/mac80211/mesh_hwmp.c 	struct ieee80211_local *local = sdata->local;
sdata             396 net/mac80211/mesh_hwmp.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata             435 net/mac80211/mesh_hwmp.c 	if (ether_addr_equal(orig_addr, sdata->vif.addr)) {
sdata             442 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_lookup(sdata, orig_addr);
sdata             480 net/mac80211/mesh_hwmp.c 			mpath = mesh_path_add(sdata, orig_addr);
sdata             518 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_lookup(sdata, ta);
sdata             528 net/mac80211/mesh_hwmp.c 			mpath = mesh_path_add(sdata, ta);
sdata             559 net/mac80211/mesh_hwmp.c static void hwmp_preq_frame_process(struct ieee80211_sub_if_data *sdata,
sdata             563 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             583 net/mac80211/mesh_hwmp.c 	mhwmp_dbg(sdata, "received PREQ from %pM\n", orig_addr);
sdata             585 net/mac80211/mesh_hwmp.c 	if (ether_addr_equal(target_addr, sdata->vif.addr)) {
sdata             586 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "PREQ is for us\n");
sdata             595 net/mac80211/mesh_hwmp.c 					net_traversal_jiffies(sdata)) ||
sdata             604 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_lookup(sdata, orig_addr);
sdata             608 net/mac80211/mesh_hwmp.c 				target_addr = sdata->vif.addr;
sdata             619 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_lookup(sdata, target_addr);
sdata             641 net/mac80211/mesh_hwmp.c 			mhwmp_dbg(sdata, "replying to the PREQ\n");
sdata             646 net/mac80211/mesh_hwmp.c 					       sdata);
sdata             662 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "forwarding the PREQ from %pM\n", orig_addr);
sdata             677 net/mac80211/mesh_hwmp.c 				       orig_metric, preq_id, sdata);
sdata             695 net/mac80211/mesh_hwmp.c static void hwmp_prep_frame_process(struct ieee80211_sub_if_data *sdata,
sdata             699 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             706 net/mac80211/mesh_hwmp.c 	mhwmp_dbg(sdata, "received PREP from %pM\n",
sdata             710 net/mac80211/mesh_hwmp.c 	if (ether_addr_equal(orig_addr, sdata->vif.addr))
sdata             719 net/mac80211/mesh_hwmp.c 		sdata->u.mesh.mshstats.dropped_frames_ttl++;
sdata             724 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, orig_addr);
sdata             745 net/mac80211/mesh_hwmp.c 			       ttl, lifetime, metric, 0, sdata);
sdata             748 net/mac80211/mesh_hwmp.c 	sdata->u.mesh.mshstats.fwded_unicast++;
sdata             749 net/mac80211/mesh_hwmp.c 	sdata->u.mesh.mshstats.fwded_frames++;
sdata             754 net/mac80211/mesh_hwmp.c 	sdata->u.mesh.mshstats.dropped_frames_no_route++;
sdata             757 net/mac80211/mesh_hwmp.c static void hwmp_perr_frame_process(struct ieee80211_sub_if_data *sdata,
sdata             761 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             780 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, target_addr);
sdata             799 net/mac80211/mesh_hwmp.c 			mesh_path_error_tx(sdata, ttl, target_addr,
sdata             809 net/mac80211/mesh_hwmp.c static void hwmp_rann_frame_process(struct ieee80211_sub_if_data *sdata,
sdata             813 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             814 net/mac80211/mesh_hwmp.c 	struct ieee80211_local *local = sdata->local;
sdata             833 net/mac80211/mesh_hwmp.c 	if (ether_addr_equal(orig_addr, sdata->vif.addr))
sdata             836 net/mac80211/mesh_hwmp.c 	mhwmp_dbg(sdata,
sdata             841 net/mac80211/mesh_hwmp.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata             852 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, orig_addr);
sdata             854 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_add(sdata, orig_addr);
sdata             857 net/mac80211/mesh_hwmp.c 			sdata->u.mesh.mshstats.dropped_frames_no_route++;
sdata             870 net/mac80211/mesh_hwmp.c 				  root_path_confirmation_jiffies(sdata)) ||
sdata             873 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata,
sdata             901 net/mac80211/mesh_hwmp.c 				       new_metric, 0, sdata);
sdata             908 net/mac80211/mesh_hwmp.c void mesh_rx_path_sel_frame(struct ieee80211_sub_if_data *sdata,
sdata             921 net/mac80211/mesh_hwmp.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata             936 net/mac80211/mesh_hwmp.c 		path_metric = hwmp_route_info_get(sdata, mgmt, elems.preq,
sdata             939 net/mac80211/mesh_hwmp.c 			hwmp_preq_frame_process(sdata, mgmt, elems.preq,
sdata             946 net/mac80211/mesh_hwmp.c 		path_metric = hwmp_route_info_get(sdata, mgmt, elems.prep,
sdata             949 net/mac80211/mesh_hwmp.c 			hwmp_prep_frame_process(sdata, mgmt, elems.prep,
sdata             956 net/mac80211/mesh_hwmp.c 		hwmp_perr_frame_process(sdata, mgmt, elems.perr);
sdata             959 net/mac80211/mesh_hwmp.c 		hwmp_rann_frame_process(sdata, mgmt, elems.rann);
sdata             973 net/mac80211/mesh_hwmp.c 	struct ieee80211_sub_if_data *sdata = mpath->sdata;
sdata             974 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             979 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "could not allocate PREQ node\n");
sdata             988 net/mac80211/mesh_hwmp.c 			mhwmp_dbg(sdata, "PREQ node queue full\n");
sdata            1010 net/mac80211/mesh_hwmp.c 	if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata)))
sdata            1011 net/mac80211/mesh_hwmp.c 		ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata            1017 net/mac80211/mesh_hwmp.c 		ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
sdata            1018 net/mac80211/mesh_hwmp.c 		ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata            1021 net/mac80211/mesh_hwmp.c 						min_preq_int_jiff(sdata));
sdata            1029 net/mac80211/mesh_hwmp.c void mesh_path_start_discovery(struct ieee80211_sub_if_data *sdata)
sdata            1031 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1041 net/mac80211/mesh_hwmp.c 				min_preq_int_jiff(sdata))) {
sdata            1053 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, preq_node->dst);
sdata            1071 net/mac80211/mesh_hwmp.c 			mpath->discovery_timeout = disc_timeout_jiff(sdata);
sdata            1083 net/mac80211/mesh_hwmp.c 				net_traversal_jiffies(sdata)) ||
sdata            1086 net/mac80211/mesh_hwmp.c 		sdata->u.mesh.last_sn_update = jiffies;
sdata            1088 net/mac80211/mesh_hwmp.c 	lifetime = default_lifetime(sdata);
sdata            1089 net/mac80211/mesh_hwmp.c 	ttl = sdata->u.mesh.mshcfg.element_ttl;
sdata            1091 net/mac80211/mesh_hwmp.c 		sdata->u.mesh.mshstats.dropped_frames_ttl++;
sdata            1103 net/mac80211/mesh_hwmp.c 	mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr, ifmsh->sn,
sdata            1105 net/mac80211/mesh_hwmp.c 			       ttl, lifetime, 0, ifmsh->preq_id++, sdata);
sdata            1132 net/mac80211/mesh_hwmp.c int mesh_nexthop_resolve(struct ieee80211_sub_if_data *sdata,
sdata            1149 net/mac80211/mesh_hwmp.c 	if (!mesh_nexthop_lookup(sdata, skb))
sdata            1153 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, target_addr);
sdata            1155 net/mac80211/mesh_hwmp.c 		mpath = mesh_path_add(sdata, target_addr);
sdata            1157 net/mac80211/mesh_hwmp.c 			mesh_path_discard_frame(sdata, skb);
sdata            1163 net/mac80211/mesh_hwmp.c 	    mesh_path_sel_is_hwmp(sdata))
sdata            1170 net/mac80211/mesh_hwmp.c 	ieee80211_set_qos_hdr(sdata, skb);
sdata            1173 net/mac80211/mesh_hwmp.c 		mesh_path_discard_frame(sdata, skb_to_free);
sdata            1188 net/mac80211/mesh_hwmp.c int mesh_nexthop_lookup(struct ieee80211_sub_if_data *sdata,
sdata            1196 net/mac80211/mesh_hwmp.c 	mpath = mesh_path_lookup(sdata, target_addr);
sdata            1202 net/mac80211/mesh_hwmp.c 		       msecs_to_jiffies(sdata->u.mesh.mshcfg.path_refresh_time)) &&
sdata            1203 net/mac80211/mesh_hwmp.c 	    ether_addr_equal(sdata->vif.addr, hdr->addr4) &&
sdata            1211 net/mac80211/mesh_hwmp.c 		memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata            1212 net/mac80211/mesh_hwmp.c 		ieee80211_mps_set_frame_flags(sdata, next_hop, hdr);
sdata            1222 net/mac80211/mesh_hwmp.c 	struct ieee80211_sub_if_data *sdata = mpath->sdata;
sdata            1225 net/mac80211/mesh_hwmp.c 	if (sdata->local->quiescing)
sdata            1233 net/mac80211/mesh_hwmp.c 	} else if (mpath->discovery_retries < max_preq_retries(sdata)) {
sdata            1245 net/mac80211/mesh_hwmp.c 		if (!mpath->is_gate && mesh_gate_num(sdata) > 0) {
sdata            1248 net/mac80211/mesh_hwmp.c 				mhwmp_dbg(sdata, "no gate was reachable\n");
sdata            1254 net/mac80211/mesh_hwmp.c void mesh_path_tx_root_frame(struct ieee80211_sub_if_data *sdata)
sdata            1256 net/mac80211/mesh_hwmp.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            1265 net/mac80211/mesh_hwmp.c 		mesh_path_sel_frame_tx(MPATH_RANN, flags, sdata->vif.addr,
sdata            1268 net/mac80211/mesh_hwmp.c 				       interval, 0, 0, sdata);
sdata            1277 net/mac80211/mesh_hwmp.c 		mesh_path_sel_frame_tx(MPATH_PREQ, flags, sdata->vif.addr,
sdata            1281 net/mac80211/mesh_hwmp.c 				       0, ifmsh->preq_id++, sdata);
sdata            1284 net/mac80211/mesh_hwmp.c 		mhwmp_dbg(sdata, "Proactive mechanism not supported\n");
sdata              95 net/mac80211/mesh_pathtbl.c 		memcpy(hdr->addr2, mpath->sdata->vif.addr, ETH_ALEN);
sdata              96 net/mac80211/mesh_pathtbl.c 		ieee80211_mps_set_frame_flags(sta->sdata, sta, hdr);
sdata             138 net/mac80211/mesh_pathtbl.c 	memcpy(hdr->addr2, gate_mpath->sdata->vif.addr, ETH_ALEN);
sdata             182 net/mac80211/mesh_pathtbl.c 			mpath_dbg(gate_mpath->sdata, "mpath queue full!\n");
sdata             200 net/mac80211/mesh_pathtbl.c 	mpath_dbg(gate_mpath->sdata, "Mpath queue for gate %pM has %d frames\n",
sdata             213 net/mac80211/mesh_pathtbl.c 				      struct ieee80211_sub_if_data *sdata)
sdata             237 net/mac80211/mesh_pathtbl.c mesh_path_lookup(struct ieee80211_sub_if_data *sdata, const u8 *dst)
sdata             239 net/mac80211/mesh_pathtbl.c 	return mpath_lookup(sdata->u.mesh.mesh_paths, dst, sdata);
sdata             243 net/mac80211/mesh_pathtbl.c mpp_path_lookup(struct ieee80211_sub_if_data *sdata, const u8 *dst)
sdata             245 net/mac80211/mesh_pathtbl.c 	return mpath_lookup(sdata->u.mesh.mpp_paths, dst, sdata);
sdata             280 net/mac80211/mesh_pathtbl.c mesh_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx)
sdata             282 net/mac80211/mesh_pathtbl.c 	return __mesh_path_lookup_by_idx(sdata->u.mesh.mesh_paths, idx);
sdata             295 net/mac80211/mesh_pathtbl.c mpp_path_lookup_by_idx(struct ieee80211_sub_if_data *sdata, int idx)
sdata             297 net/mac80211/mesh_pathtbl.c 	return __mesh_path_lookup_by_idx(sdata->u.mesh.mpp_paths, idx);
sdata             310 net/mac80211/mesh_pathtbl.c 	tbl = mpath->sdata->u.mesh.mesh_paths;
sdata             319 net/mac80211/mesh_pathtbl.c 	mpath->sdata->u.mesh.num_gates++;
sdata             327 net/mac80211/mesh_pathtbl.c 	mpath_dbg(mpath->sdata,
sdata             329 net/mac80211/mesh_pathtbl.c 		  mpath->dst, mpath->sdata->u.mesh.num_gates);
sdata             350 net/mac80211/mesh_pathtbl.c 	mpath->sdata->u.mesh.num_gates--;
sdata             353 net/mac80211/mesh_pathtbl.c 	mpath_dbg(mpath->sdata,
sdata             355 net/mac80211/mesh_pathtbl.c 		  mpath->dst, mpath->sdata->u.mesh.num_gates);
sdata             362 net/mac80211/mesh_pathtbl.c int mesh_gate_num(struct ieee80211_sub_if_data *sdata)
sdata             364 net/mac80211/mesh_pathtbl.c 	return sdata->u.mesh.num_gates;
sdata             368 net/mac80211/mesh_pathtbl.c struct mesh_path *mesh_path_new(struct ieee80211_sub_if_data *sdata,
sdata             380 net/mac80211/mesh_pathtbl.c 	new_mpath->sdata = sdata;
sdata             399 net/mac80211/mesh_pathtbl.c struct mesh_path *mesh_path_add(struct ieee80211_sub_if_data *sdata,
sdata             405 net/mac80211/mesh_pathtbl.c 	if (ether_addr_equal(dst, sdata->vif.addr))
sdata             412 net/mac80211/mesh_pathtbl.c 	if (atomic_add_unless(&sdata->u.mesh.mpaths, 1, MESH_MAX_MPATHS) == 0)
sdata             415 net/mac80211/mesh_pathtbl.c 	new_mpath = mesh_path_new(sdata, dst, GFP_ATOMIC);
sdata             419 net/mac80211/mesh_pathtbl.c 	tbl = sdata->u.mesh.mesh_paths;
sdata             437 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mesh_paths_generation++;
sdata             441 net/mac80211/mesh_pathtbl.c int mpp_path_add(struct ieee80211_sub_if_data *sdata,
sdata             448 net/mac80211/mesh_pathtbl.c 	if (ether_addr_equal(dst, sdata->vif.addr))
sdata             455 net/mac80211/mesh_pathtbl.c 	new_mpath = mesh_path_new(sdata, dst, GFP_ATOMIC);
sdata             461 net/mac80211/mesh_pathtbl.c 	tbl = sdata->u.mesh.mpp_paths;
sdata             474 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mpp_paths_generation++;
sdata             489 net/mac80211/mesh_pathtbl.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             490 net/mac80211/mesh_pathtbl.c 	struct mesh_table *tbl = sdata->u.mesh.mesh_paths;
sdata             503 net/mac80211/mesh_pathtbl.c 			mesh_path_error_tx(sdata,
sdata             504 net/mac80211/mesh_pathtbl.c 				sdata->u.mesh.mshcfg.element_ttl,
sdata             515 net/mac80211/mesh_pathtbl.c 	struct ieee80211_sub_if_data *sdata = mpath->sdata;
sdata             522 net/mac80211/mesh_pathtbl.c 	atomic_dec(&sdata->u.mesh.mpaths);
sdata             547 net/mac80211/mesh_pathtbl.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             548 net/mac80211/mesh_pathtbl.c 	struct mesh_table *tbl = sdata->u.mesh.mesh_paths;
sdata             560 net/mac80211/mesh_pathtbl.c static void mpp_flush_by_proxy(struct ieee80211_sub_if_data *sdata,
sdata             563 net/mac80211/mesh_pathtbl.c 	struct mesh_table *tbl = sdata->u.mesh.mpp_paths;
sdata             595 net/mac80211/mesh_pathtbl.c void mesh_path_flush_by_iface(struct ieee80211_sub_if_data *sdata)
sdata             597 net/mac80211/mesh_pathtbl.c 	table_flush_by_iface(sdata->u.mesh.mesh_paths);
sdata             598 net/mac80211/mesh_pathtbl.c 	table_flush_by_iface(sdata->u.mesh.mpp_paths);
sdata             611 net/mac80211/mesh_pathtbl.c 			  struct ieee80211_sub_if_data *sdata,
sdata             637 net/mac80211/mesh_pathtbl.c int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr)
sdata             642 net/mac80211/mesh_pathtbl.c 	mpp_flush_by_proxy(sdata, addr);
sdata             644 net/mac80211/mesh_pathtbl.c 	err = table_path_del(sdata->u.mesh.mesh_paths, sdata, addr);
sdata             645 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mesh_paths_generation++;
sdata             660 net/mac80211/mesh_pathtbl.c 		ieee80211_add_pending_skbs(mpath->sdata->local,
sdata             676 net/mac80211/mesh_pathtbl.c 	struct ieee80211_sub_if_data *sdata = mpath->sdata;
sdata             682 net/mac80211/mesh_pathtbl.c 	tbl = sdata->u.mesh.mesh_paths;
sdata             687 net/mac80211/mesh_pathtbl.c 			mpath_dbg(sdata, "Forwarding to %pM\n", gate->dst);
sdata             692 net/mac80211/mesh_pathtbl.c 			mpath_dbg(sdata,
sdata             699 net/mac80211/mesh_pathtbl.c 		mpath_dbg(sdata, "Sending to %pM\n", gate->dst);
sdata             715 net/mac80211/mesh_pathtbl.c void mesh_path_discard_frame(struct ieee80211_sub_if_data *sdata,
sdata             719 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mshstats.dropped_frames_no_route++;
sdata             734 net/mac80211/mesh_pathtbl.c 		mesh_path_discard_frame(mpath->sdata, skb);
sdata             762 net/mac80211/mesh_pathtbl.c int mesh_pathtbl_init(struct ieee80211_sub_if_data *sdata)
sdata             780 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mesh_paths = tbl_path;
sdata             781 net/mac80211/mesh_pathtbl.c 	sdata->u.mesh.mpp_paths = tbl_mpp;
sdata             791 net/mac80211/mesh_pathtbl.c void mesh_path_tbl_expire(struct ieee80211_sub_if_data *sdata,
sdata             807 net/mac80211/mesh_pathtbl.c void mesh_path_expire(struct ieee80211_sub_if_data *sdata)
sdata             809 net/mac80211/mesh_pathtbl.c 	mesh_path_tbl_expire(sdata, sdata->u.mesh.mesh_paths);
sdata             810 net/mac80211/mesh_pathtbl.c 	mesh_path_tbl_expire(sdata, sdata->u.mesh.mpp_paths);
sdata             813 net/mac80211/mesh_pathtbl.c void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata)
sdata             815 net/mac80211/mesh_pathtbl.c 	mesh_table_free(sdata->u.mesh.mesh_paths);
sdata             816 net/mac80211/mesh_pathtbl.c 	mesh_table_free(sdata->u.mesh.mpp_paths);
sdata              58 net/mac80211/mesh_plink.c static bool rssi_threshold_check(struct ieee80211_sub_if_data *sdata,
sdata              61 net/mac80211/mesh_plink.c 	s32 rssi_threshold = sdata->u.mesh.mshcfg.rssi_threshold;
sdata              93 net/mac80211/mesh_plink.c static u32 mesh_set_short_slot_time(struct ieee80211_sub_if_data *sdata)
sdata              95 net/mac80211/mesh_plink.c 	struct ieee80211_local *local = sdata->local;
sdata             102 net/mac80211/mesh_plink.c 	sband = ieee80211_get_sband(sdata);
sdata             123 net/mac80211/mesh_plink.c 		if (sdata != sta->sdata ||
sdata             136 net/mac80211/mesh_plink.c 	if (sdata->vif.bss_conf.use_short_slot != short_slot) {
sdata             137 net/mac80211/mesh_plink.c 		sdata->vif.bss_conf.use_short_slot = short_slot;
sdata             139 net/mac80211/mesh_plink.c 		mpl_dbg(sdata, "mesh_plink %pM: ERP short slot time %d\n",
sdata             140 net/mac80211/mesh_plink.c 			sdata->vif.addr, short_slot);
sdata             155 net/mac80211/mesh_plink.c static u32 mesh_set_ht_prot_mode(struct ieee80211_sub_if_data *sdata)
sdata             157 net/mac80211/mesh_plink.c 	struct ieee80211_local *local = sdata->local;
sdata             162 net/mac80211/mesh_plink.c 	switch (sdata->vif.bss_conf.chandef.width) {
sdata             173 net/mac80211/mesh_plink.c 		if (sdata != sta->sdata ||
sdata             181 net/mac80211/mesh_plink.c 			mpl_dbg(sdata, "nonHT sta (%pM) is present\n",
sdata             187 net/mac80211/mesh_plink.c 		mpl_dbg(sdata, "HT20 sta (%pM) is present\n", sta->sta.addr);
sdata             195 net/mac80211/mesh_plink.c 		 sdata->vif.bss_conf.chandef.width > NL80211_CHAN_WIDTH_20)
sdata             200 net/mac80211/mesh_plink.c 	if (sdata->vif.bss_conf.ht_operation_mode == ht_opmode)
sdata             203 net/mac80211/mesh_plink.c 	sdata->vif.bss_conf.ht_operation_mode = ht_opmode;
sdata             204 net/mac80211/mesh_plink.c 	sdata->u.mesh.mshcfg.ht_opmode = ht_opmode;
sdata             205 net/mac80211/mesh_plink.c 	mpl_dbg(sdata, "selected new HT protection mode %d\n", ht_opmode);
sdata             209 net/mac80211/mesh_plink.c static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
sdata             214 net/mac80211/mesh_plink.c 	struct ieee80211_local *local = sdata->local;
sdata             225 net/mac80211/mesh_plink.c 	ie_len_he_cap = ieee80211_ie_len_he_cap(sdata,
sdata             233 net/mac80211/mesh_plink.c 			    2 + sdata->u.mesh.mesh_id_len +
sdata             242 net/mac80211/mesh_plink.c 			    sdata->u.mesh.ie_len);
sdata             251 net/mac80211/mesh_plink.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             252 net/mac80211/mesh_plink.c 	memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata             260 net/mac80211/mesh_plink.c 		sband = ieee80211_get_sband(sdata);
sdata             274 net/mac80211/mesh_plink.c 		if (ieee80211_add_srates_ie(sdata, skb, true, band) ||
sdata             275 net/mac80211/mesh_plink.c 		    ieee80211_add_ext_srates_ie(sdata, skb, true, band) ||
sdata             276 net/mac80211/mesh_plink.c 		    mesh_add_rsn_ie(sdata, skb) ||
sdata             277 net/mac80211/mesh_plink.c 		    mesh_add_meshid_ie(sdata, skb) ||
sdata             278 net/mac80211/mesh_plink.c 		    mesh_add_meshconf_ie(sdata, skb))
sdata             282 net/mac80211/mesh_plink.c 		if (mesh_add_meshid_ie(sdata, skb))
sdata             326 net/mac80211/mesh_plink.c 		if (mesh_add_ht_cap_ie(sdata, skb) ||
sdata             327 net/mac80211/mesh_plink.c 		    mesh_add_ht_oper_ie(sdata, skb) ||
sdata             328 net/mac80211/mesh_plink.c 		    mesh_add_vht_cap_ie(sdata, skb) ||
sdata             329 net/mac80211/mesh_plink.c 		    mesh_add_vht_oper_ie(sdata, skb) ||
sdata             330 net/mac80211/mesh_plink.c 		    mesh_add_he_cap_ie(sdata, skb, ie_len_he_cap) ||
sdata             331 net/mac80211/mesh_plink.c 		    mesh_add_he_oper_ie(sdata, skb))
sdata             335 net/mac80211/mesh_plink.c 	if (mesh_add_vendor_ies(sdata, skb))
sdata             338 net/mac80211/mesh_plink.c 	ieee80211_tx_skb(sdata, skb);
sdata             359 net/mac80211/mesh_plink.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             365 net/mac80211/mesh_plink.c 		changed = mesh_plink_dec_estab_count(sdata);
sdata             384 net/mac80211/mesh_plink.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             390 net/mac80211/mesh_plink.c 	if (!sdata->u.mesh.user_mpm) {
sdata             392 net/mac80211/mesh_plink.c 		mesh_plink_frame_tx(sdata, sta, WLAN_SP_MESH_PEERING_CLOSE,
sdata             397 net/mac80211/mesh_plink.c 	if (!sdata->u.mesh.user_mpm)
sdata             407 net/mac80211/mesh_plink.c static void mesh_sta_info_init(struct ieee80211_sub_if_data *sdata,
sdata             411 net/mac80211/mesh_plink.c 	struct ieee80211_local *local = sdata->local;
sdata             416 net/mac80211/mesh_plink.c 	sband = ieee80211_get_sband(sdata);
sdata             420 net/mac80211/mesh_plink.c 	rates = ieee80211_sta_get_rates(sdata, elems, sband->band,
sdata             436 net/mac80211/mesh_plink.c 	if (ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
sdata             440 net/mac80211/mesh_plink.c 	ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
sdata             443 net/mac80211/mesh_plink.c 	ieee80211_he_cap_ie_to_sta_he_cap(sdata, sband, elems->he_cap,
sdata             466 net/mac80211/mesh_plink.c static int mesh_allocate_aid(struct ieee80211_sub_if_data *sdata)
sdata             481 net/mac80211/mesh_plink.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list)
sdata             495 net/mac80211/mesh_plink.c __mesh_sta_info_alloc(struct ieee80211_sub_if_data *sdata, u8 *hw_addr)
sdata             500 net/mac80211/mesh_plink.c 	if (sdata->local->num_sta >= MESH_MAX_PLINKS)
sdata             503 net/mac80211/mesh_plink.c 	aid = mesh_allocate_aid(sdata);
sdata             507 net/mac80211/mesh_plink.c 	sta = sta_info_alloc(sdata, hw_addr, GFP_KERNEL);
sdata             523 net/mac80211/mesh_plink.c mesh_sta_info_alloc(struct ieee80211_sub_if_data *sdata, u8 *addr,
sdata             530 net/mac80211/mesh_plink.c 	if (sdata->u.mesh.user_mpm ||
sdata             531 net/mac80211/mesh_plink.c 	    sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED) {
sdata             533 net/mac80211/mesh_plink.c 		    mesh_plink_availables(sdata)) {
sdata             536 net/mac80211/mesh_plink.c 			if (ieee80211_hw_check(&sdata->local->hw, SIGNAL_DBM))
sdata             539 net/mac80211/mesh_plink.c 			cfg80211_notify_new_peer_candidate(sdata->dev, addr,
sdata             545 net/mac80211/mesh_plink.c 		sta = __mesh_sta_info_alloc(sdata, addr);
sdata             562 net/mac80211/mesh_plink.c mesh_sta_info_get(struct ieee80211_sub_if_data *sdata,
sdata             569 net/mac80211/mesh_plink.c 	sta = sta_info_get(sdata, addr);
sdata             571 net/mac80211/mesh_plink.c 		mesh_sta_info_init(sdata, sta, elems);
sdata             575 net/mac80211/mesh_plink.c 		sta = mesh_sta_info_alloc(sdata, addr, elems, rx_status);
sdata             581 net/mac80211/mesh_plink.c 		mesh_sta_info_init(sdata, sta, elems);
sdata             600 net/mac80211/mesh_plink.c void mesh_neighbour_update(struct ieee80211_sub_if_data *sdata,
sdata             608 net/mac80211/mesh_plink.c 	sta = mesh_sta_info_get(sdata, hw_addr, elems, rx_status);
sdata             617 net/mac80211/mesh_plink.c 	    sdata->u.mesh.accepting_plinks &&
sdata             618 net/mac80211/mesh_plink.c 	    sdata->u.mesh.mshcfg.auto_open_plinks &&
sdata             619 net/mac80211/mesh_plink.c 	    rssi_threshold_check(sdata, sta))
sdata             625 net/mac80211/mesh_plink.c 	ieee80211_mbss_info_change_notify(sdata, changed);
sdata             633 net/mac80211/mesh_plink.c 	struct ieee80211_sub_if_data *sdata;
sdata             644 net/mac80211/mesh_plink.c 	if (sta->sdata->local->quiescing)
sdata             655 net/mac80211/mesh_plink.c 		mpl_dbg(sta->sdata,
sdata             665 net/mac80211/mesh_plink.c 		mpl_dbg(sta->sdata,
sdata             672 net/mac80211/mesh_plink.c 	mpl_dbg(sta->sdata,
sdata             675 net/mac80211/mesh_plink.c 	sdata = sta->sdata;
sdata             676 net/mac80211/mesh_plink.c 	mshcfg = &sdata->u.mesh.mshcfg;
sdata             684 net/mac80211/mesh_plink.c 			mpl_dbg(sta->sdata,
sdata             716 net/mac80211/mesh_plink.c 		mesh_plink_frame_tx(sdata, sta, action, sta->sta.addr,
sdata             726 net/mac80211/mesh_plink.c static bool llid_in_use(struct ieee80211_sub_if_data *sdata,
sdata             729 net/mac80211/mesh_plink.c 	struct ieee80211_local *local = sdata->local;
sdata             735 net/mac80211/mesh_plink.c 		if (sdata != sta->sdata)
sdata             748 net/mac80211/mesh_plink.c static u16 mesh_get_new_llid(struct ieee80211_sub_if_data *sdata)
sdata             754 net/mac80211/mesh_plink.c 	} while (llid_in_use(sdata, llid));
sdata             761 net/mac80211/mesh_plink.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             768 net/mac80211/mesh_plink.c 	sta->mesh->llid = mesh_get_new_llid(sdata);
sdata             775 net/mac80211/mesh_plink.c 	mesh_plink_timer_set(sta, sdata->u.mesh.mshcfg.dot11MeshRetryTimeout);
sdata             777 net/mac80211/mesh_plink.c 	mpl_dbg(sdata,
sdata             782 net/mac80211/mesh_plink.c 	changed = ieee80211_mps_local_status_update(sdata);
sdata             784 net/mac80211/mesh_plink.c 	mesh_plink_frame_tx(sdata, sta, WLAN_SP_MESH_PEERING_OPEN,
sdata             802 net/mac80211/mesh_plink.c static void mesh_plink_close(struct ieee80211_sub_if_data *sdata,
sdata             806 net/mac80211/mesh_plink.c 	struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg;
sdata             815 net/mac80211/mesh_plink.c static u32 mesh_plink_establish(struct ieee80211_sub_if_data *sdata,
sdata             818 net/mac80211/mesh_plink.c 	struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg;
sdata             823 net/mac80211/mesh_plink.c 	changed |= mesh_plink_inc_estab_count(sdata);
sdata             824 net/mac80211/mesh_plink.c 	changed |= mesh_set_ht_prot_mode(sdata);
sdata             825 net/mac80211/mesh_plink.c 	changed |= mesh_set_short_slot_time(sdata);
sdata             826 net/mac80211/mesh_plink.c 	mpl_dbg(sdata, "Mesh plink with %pM ESTABLISHED\n", sta->sta.addr);
sdata             841 net/mac80211/mesh_plink.c static u32 mesh_plink_fsm(struct ieee80211_sub_if_data *sdata,
sdata             844 net/mac80211/mesh_plink.c 	struct mesh_config *mshcfg = &sdata->u.mesh.mshcfg;
sdata             849 net/mac80211/mesh_plink.c 	mpl_dbg(sdata, "peer %pM in state %s got event %s\n", sta->sta.addr,
sdata             861 net/mac80211/mesh_plink.c 			sta->mesh->llid = mesh_get_new_llid(sdata);
sdata             866 net/mac80211/mesh_plink.c 			changed |= ieee80211_mps_local_status_update(sdata);
sdata             878 net/mac80211/mesh_plink.c 			mesh_plink_close(sdata, sta, event);
sdata             899 net/mac80211/mesh_plink.c 			mesh_plink_close(sdata, sta, event);
sdata             906 net/mac80211/mesh_plink.c 			changed |= mesh_plink_establish(sdata, sta);
sdata             917 net/mac80211/mesh_plink.c 			mesh_plink_close(sdata, sta, event);
sdata             921 net/mac80211/mesh_plink.c 			changed |= mesh_plink_establish(sdata, sta);
sdata             932 net/mac80211/mesh_plink.c 			changed |= mesh_set_ht_prot_mode(sdata);
sdata             933 net/mac80211/mesh_plink.c 			changed |= mesh_set_short_slot_time(sdata);
sdata             934 net/mac80211/mesh_plink.c 			mesh_plink_close(sdata, sta, event);
sdata             971 net/mac80211/mesh_plink.c 		mesh_plink_frame_tx(sdata, sta, action, sta->sta.addr,
sdata             977 net/mac80211/mesh_plink.c 			mesh_plink_frame_tx(sdata, sta,
sdata            1001 net/mac80211/mesh_plink.c mesh_plink_get_event(struct ieee80211_sub_if_data *sdata,
sdata            1012 net/mac80211/mesh_plink.c 			 mesh_matches_local(sdata, elems));
sdata            1022 net/mac80211/mesh_plink.c 			mpl_dbg(sdata, "Mesh plink: cls or cnf from unknown peer\n");
sdata            1026 net/mac80211/mesh_plink.c 		if (!mesh_plink_free_count(sdata)) {
sdata            1027 net/mac80211/mesh_plink.c 			mpl_dbg(sdata, "Mesh plink error: no more free plinks\n");
sdata            1036 net/mac80211/mesh_plink.c 			mpl_dbg(sdata, "Mesh plink: Action frame from non-authed peer\n");
sdata            1047 net/mac80211/mesh_plink.c 		if (!mesh_plink_free_count(sdata) ||
sdata            1056 net/mac80211/mesh_plink.c 		if (!mesh_plink_free_count(sdata) ||
sdata            1083 net/mac80211/mesh_plink.c 		mpl_dbg(sdata, "Mesh plink: unknown frame subtype\n");
sdata            1092 net/mac80211/mesh_plink.c mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata,
sdata            1106 net/mac80211/mesh_plink.c 		mpl_dbg(sdata,
sdata            1112 net/mac80211/mesh_plink.c 	    sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) {
sdata            1113 net/mac80211/mesh_plink.c 		mpl_dbg(sdata,
sdata            1123 net/mac80211/mesh_plink.c 		mpl_dbg(sdata,
sdata            1131 net/mac80211/mesh_plink.c 		mpl_dbg(sdata, "Mesh plink: missing necessary ie\n");
sdata            1145 net/mac80211/mesh_plink.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata            1148 net/mac80211/mesh_plink.c 	    !rssi_threshold_check(sdata, sta)) {
sdata            1149 net/mac80211/mesh_plink.c 		mpl_dbg(sdata, "Mesh plink: %pM does not meet rssi threshold\n",
sdata            1155 net/mac80211/mesh_plink.c 	event = mesh_plink_get_event(sdata, sta, elems, ftype, llid, plid);
sdata            1160 net/mac80211/mesh_plink.c 		sta = mesh_sta_info_get(sdata, mgmt->sa, elems, rx_status);
sdata            1162 net/mac80211/mesh_plink.c 			mpl_dbg(sdata, "Mesh plink: failed to init peer!\n");
sdata            1167 net/mac80211/mesh_plink.c 		mesh_plink_frame_tx(sdata, NULL, WLAN_SP_MESH_PEERING_CLOSE,
sdata            1184 net/mac80211/mesh_plink.c 	changed |= mesh_plink_fsm(sdata, sta, event);
sdata            1190 net/mac80211/mesh_plink.c 		ieee80211_mbss_info_change_notify(sdata, changed);
sdata            1193 net/mac80211/mesh_plink.c void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
sdata            1205 net/mac80211/mesh_plink.c 	if (sdata->u.mesh.user_mpm)
sdata            1210 net/mac80211/mesh_plink.c 		mpl_dbg(sdata,
sdata            1227 net/mac80211/mesh_plink.c 	mesh_process_plink_frame(sdata, mgmt, &elems, rx_status);
sdata              18 net/mac80211/mesh_ps.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata              19 net/mac80211/mesh_ps.c 	struct ieee80211_local *local = sdata->local;
sdata              33 net/mac80211/mesh_ps.c 				      sdata->vif.addr);
sdata              40 net/mac80211/mesh_ps.c 	ieee80211_mps_set_frame_flags(sdata, sta, nullfunc);
sdata              56 net/mac80211/mesh_ps.c 	mps_dbg(sta->sdata, "announcing peer-specific power mode to %pM\n",
sdata              66 net/mac80211/mesh_ps.c 	ieee80211_tx_skb(sta->sdata, skb);
sdata              77 net/mac80211/mesh_ps.c u32 ieee80211_mps_local_status_update(struct ieee80211_sub_if_data *sdata)
sdata              79 net/mac80211/mesh_ps.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata              88 net/mac80211/mesh_ps.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
sdata              89 net/mac80211/mesh_ps.c 		if (sdata != sta->sdata)
sdata             118 net/mac80211/mesh_ps.c 		mps_dbg(sdata, "setting non-peer PM to active for peering\n");
sdata             121 net/mac80211/mesh_ps.c 		mps_dbg(sdata, "setting non-peer PM to deep sleep\n");
sdata             124 net/mac80211/mesh_ps.c 		mps_dbg(sdata, "setting non-peer PM to user value\n");
sdata             151 net/mac80211/mesh_ps.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             156 net/mac80211/mesh_ps.c 	mps_dbg(sdata, "local STA operates in mode %d with %pM\n",
sdata             168 net/mac80211/mesh_ps.c 	return ieee80211_mps_local_status_update(sdata);
sdata             183 net/mac80211/mesh_ps.c void ieee80211_mps_set_frame_flags(struct ieee80211_sub_if_data *sdata,
sdata             200 net/mac80211/mesh_ps.c 		pm = sdata->u.mesh.nonpeer_pm;
sdata             215 net/mac80211/mesh_ps.c 	     sdata->u.mesh.ps_peers_deep_sleep > 0))
sdata             263 net/mac80211/mesh_ps.c 		atomic_inc(&sta->sdata->u.mesh.ps.num_sta_ps);
sdata             264 net/mac80211/mesh_ps.c 		mps_dbg(sta->sdata, "start PS buffering frames towards %pM\n",
sdata             299 net/mac80211/mesh_ps.c 	mps_dbg(sta->sdata, "STA %pM enters mode %d\n",
sdata             320 net/mac80211/mesh_ps.c 	mps_dbg(sta->sdata, "STA %pM sets non-peer mode to %d\n",
sdata             362 net/mac80211/mesh_ps.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             395 net/mac80211/mesh_ps.c 	mps_dbg(sdata, "sending MPSP trigger%s%s to %pM\n",
sdata             398 net/mac80211/mesh_ps.c 	ieee80211_tx_skb(sdata, skb);
sdata             411 net/mac80211/mesh_ps.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             423 net/mac80211/mesh_ps.c 	mps_dbg(sdata, "appending QoS Null in MPSP towards %pM\n",
sdata             431 net/mac80211/mesh_ps.c 	ieee80211_set_qos_hdr(sdata, new_skb);
sdata             434 net/mac80211/mesh_ps.c 	info->control.vif = &sdata->vif;
sdata             448 net/mac80211/mesh_ps.c 	struct ieee80211_local *local = sta->sdata->local;
sdata             487 net/mac80211/mesh_ps.c 	mps_dbg(sta->sdata, "sending %d frames to PS STA %pM\n",
sdata             582 net/mac80211/mesh_ps.c 		mps_dbg(sta->sdata, "%pM indicates buffered frames\n",
sdata              46 net/mac80211/mesh_sync.c void mesh_sync_adjust_tsf(struct ieee80211_sub_if_data *sdata)
sdata              48 net/mac80211/mesh_sync.c 	struct ieee80211_local *local = sdata->local;
sdata              49 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata              51 net/mac80211/mesh_sync.c 	u64 beacon_int_fraction = sdata->vif.bss_conf.beacon_int * 1024 / 2500;
sdata              57 net/mac80211/mesh_sync.c 		msync_dbg(sdata, "TSF : max clockdrift=%lld; adjusting\n",
sdata              62 net/mac80211/mesh_sync.c 		msync_dbg(sdata, "TSF : max clockdrift=%lld; adjusting by %llu\n",
sdata              71 net/mac80211/mesh_sync.c 		drv_offset_tsf(local, sdata, tsfdelta);
sdata              73 net/mac80211/mesh_sync.c 		tsf = drv_get_tsf(local, sdata);
sdata              75 net/mac80211/mesh_sync.c 			drv_set_tsf(local, sdata, tsf + tsfdelta);
sdata              79 net/mac80211/mesh_sync.c static void mesh_sync_offset_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
sdata              85 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata              86 net/mac80211/mesh_sync.c 	struct ieee80211_local *local = sdata->local;
sdata             109 net/mac80211/mesh_sync.c 		t_r = drv_get_tsf(local, sdata);
sdata             112 net/mac80211/mesh_sync.c 	sta = sta_info_get(sdata, mgmt->sa);
sdata             123 net/mac80211/mesh_sync.c 		msync_dbg(sdata, "STA %pM : is adjusting TBTT\n",
sdata             134 net/mac80211/mesh_sync.c 		msync_dbg(sdata,
sdata             142 net/mac80211/mesh_sync.c 			msync_dbg(sdata,
sdata             157 net/mac80211/mesh_sync.c 		msync_dbg(sdata,
sdata             167 net/mac80211/mesh_sync.c static void mesh_sync_offset_adjust_tsf(struct ieee80211_sub_if_data *sdata,
sdata             170 net/mac80211/mesh_sync.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata             183 net/mac80211/mesh_sync.c 		msync_dbg(sdata,
sdata             188 net/mac80211/mesh_sync.c 		msync_dbg(sdata,
sdata             100 net/mac80211/mlme.c static void run_again(struct ieee80211_sub_if_data *sdata,
sdata             103 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata             105 net/mac80211/mlme.c 	if (!timer_pending(&sdata->u.mgd.timer) ||
sdata             106 net/mac80211/mlme.c 	    time_before(timeout, sdata->u.mgd.timer.expires))
sdata             107 net/mac80211/mlme.c 		mod_timer(&sdata->u.mgd.timer, timeout);
sdata             110 net/mac80211/mlme.c void ieee80211_sta_reset_beacon_monitor(struct ieee80211_sub_if_data *sdata)
sdata             112 net/mac80211/mlme.c 	if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER)
sdata             115 net/mac80211/mlme.c 	if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR))
sdata             118 net/mac80211/mlme.c 	mod_timer(&sdata->u.mgd.bcn_mon_timer,
sdata             119 net/mac80211/mlme.c 		  round_jiffies_up(jiffies + sdata->u.mgd.beacon_timeout));
sdata             122 net/mac80211/mlme.c void ieee80211_sta_reset_conn_monitor(struct ieee80211_sub_if_data *sdata)
sdata             124 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             132 net/mac80211/mlme.c 	if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR))
sdata             145 net/mac80211/mlme.c ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata,
sdata             153 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             159 net/mac80211/mlme.c 	ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap);
sdata             184 net/mac80211/mlme.c 		sdata_info(sdata,
sdata             221 net/mac80211/mlme.c 		if (!ieee80211_chandef_vht_oper(&sdata->local->hw,
sdata             225 net/mac80211/mlme.c 				sdata_info(sdata,
sdata             230 net/mac80211/mlme.c 	} else if (!ieee80211_chandef_vht_oper(&sdata->local->hw, vht_oper,
sdata             233 net/mac80211/mlme.c 			sdata_info(sdata,
sdata             241 net/mac80211/mlme.c 			sdata_info(sdata,
sdata             254 net/mac80211/mlme.c 			sdata_info(sdata,
sdata             284 net/mac80211/mlme.c 	    cfg80211_chandef_identical(chandef, &sdata->vif.bss_conf.chandef))
sdata             299 net/mac80211/mlme.c 	while (!cfg80211_chandef_usable(sdata->local->hw.wiphy, chandef,
sdata             312 net/mac80211/mlme.c 		sdata_info(sdata,
sdata             319 net/mac80211/mlme.c static int ieee80211_config_bw(struct ieee80211_sub_if_data *sdata,
sdata             327 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata             328 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             329 net/mac80211/mlme.c 	struct ieee80211_channel *chan = sdata->vif.bss_conf.chandef.chan;
sdata             359 net/mac80211/mlme.c 	if (sdata->vif.bss_conf.ht_operation_mode != ht_opmode) {
sdata             361 net/mac80211/mlme.c 		sdata->vif.bss_conf.ht_operation_mode = ht_opmode;
sdata             365 net/mac80211/mlme.c 	flags = ieee80211_determine_chantype(sdata, sband, chan,
sdata             386 net/mac80211/mlme.c 	if (cfg80211_chandef_identical(&chandef, &sdata->vif.bss_conf.chandef))
sdata             389 net/mac80211/mlme.c 	sdata_info(sdata,
sdata             400 net/mac80211/mlme.c 		sdata_info(sdata,
sdata             434 net/mac80211/mlme.c 	ret = ieee80211_vif_change_bandwidth(sdata, &chandef, changed);
sdata             436 net/mac80211/mlme.c 		sdata_info(sdata,
sdata             453 net/mac80211/mlme.c static void ieee80211_add_ht_ie(struct ieee80211_sub_if_data *sdata,
sdata             467 net/mac80211/mlme.c 	ieee80211_apply_htcap_overrides(sdata, &ht_cap);
sdata             492 net/mac80211/mlme.c 	if (sdata->u.mgd.flags & IEEE80211_STA_DISABLE_40MHZ) {
sdata             527 net/mac80211/mlme.c static void ieee80211_add_vht_ie(struct ieee80211_sub_if_data *sdata,
sdata             532 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata             541 net/mac80211/mlme.c 	ieee80211_apply_vhtcap_overrides(sdata, &vht_cap);
sdata             546 net/mac80211/mlme.c 	if (sdata->u.mgd.flags & IEEE80211_STA_DISABLE_80P80MHZ) {
sdata             555 net/mac80211/mlme.c 	if (sdata->u.mgd.flags & IEEE80211_STA_DISABLE_160MHZ) {
sdata             592 net/mac80211/mlme.c 			sdata->vif.mu_mimo_owner = true;
sdata             613 net/mac80211/mlme.c static void ieee80211_add_he_ie(struct ieee80211_sub_if_data *sdata,
sdata             638 net/mac80211/mlme.c static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
sdata             640 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata             641 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             654 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata             657 net/mac80211/mlme.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             665 net/mac80211/mlme.c 	shift = ieee80211_vif_get_shift(&sdata->vif);
sdata             730 net/mac80211/mlme.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             876 net/mac80211/mlme.c 		ieee80211_add_ht_ie(sdata, skb, assoc_data->ap_ht_param,
sdata             877 net/mac80211/mlme.c 				    sband, chan, sdata->smps_mode);
sdata             930 net/mac80211/mlme.c 		ieee80211_add_vht_ie(sdata, skb, sband,
sdata             943 net/mac80211/mlme.c 		ieee80211_add_he_ie(sdata, skb, sband);
sdata             983 net/mac80211/mlme.c 	drv_mgd_prepare_tx(local, sdata, 0);
sdata             989 net/mac80211/mlme.c 	ieee80211_tx_skb(sdata, skb);
sdata             993 net/mac80211/mlme.c 			   struct ieee80211_sub_if_data *sdata)
sdata             998 net/mac80211/mlme.c 	skb = ieee80211_pspoll_get(&local->hw, &sdata->vif);
sdata            1006 net/mac80211/mlme.c 	ieee80211_tx_skb(sdata, skb);
sdata            1010 net/mac80211/mlme.c 			     struct ieee80211_sub_if_data *sdata,
sdata            1015 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1018 net/mac80211/mlme.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            1022 net/mac80211/mlme.c 	skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif,
sdata            1040 net/mac80211/mlme.c 	ieee80211_tx_skb(sdata, skb);
sdata            1044 net/mac80211/mlme.c 					  struct ieee80211_sub_if_data *sdata)
sdata            1050 net/mac80211/mlme.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
sdata            1054 net/mac80211/mlme.c 	if (!(sdata->u.mgd.flags & IEEE80211_STA_DISABLE_HE))
sdata            1067 net/mac80211/mlme.c 	memcpy(nullfunc->addr1, sdata->u.mgd.bssid, ETH_ALEN);
sdata            1068 net/mac80211/mlme.c 	memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN);
sdata            1069 net/mac80211/mlme.c 	memcpy(nullfunc->addr3, sdata->u.mgd.bssid, ETH_ALEN);
sdata            1070 net/mac80211/mlme.c 	memcpy(nullfunc->addr4, sdata->vif.addr, ETH_ALEN);
sdata            1073 net/mac80211/mlme.c 	ieee80211_tx_skb(sdata, skb);
sdata            1079 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            1081 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            1082 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1085 net/mac80211/mlme.c 	if (!ieee80211_sdata_running(sdata))
sdata            1088 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            1095 net/mac80211/mlme.c 	if (!sdata->vif.csa_active)
sdata            1105 net/mac80211/mlme.c 	if (sdata->reserved_chanctx) {
sdata            1115 net/mac80211/mlme.c 		if (sdata->reserved_ready)
sdata            1118 net/mac80211/mlme.c 		if (sdata->vif.bss_conf.chandef.width !=
sdata            1119 net/mac80211/mlme.c 		    sdata->csa_chandef.width) {
sdata            1130 net/mac80211/mlme.c 			switch (sdata->csa_chandef.width) {
sdata            1148 net/mac80211/mlme.c 			mgd_sta = sta_info_get(sdata, ifmgd->bssid);
sdata            1150 net/mac80211/mlme.c 				local->hw.wiphy->bands[sdata->csa_chandef.chan->band];
sdata            1153 net/mac80211/mlme.c 		if (sdata->vif.bss_conf.chandef.width >
sdata            1154 net/mac80211/mlme.c 		    sdata->csa_chandef.width) {
sdata            1160 net/mac80211/mlme.c 		ret = ieee80211_vif_use_reserved_context(sdata);
sdata            1162 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            1165 net/mac80211/mlme.c 			ieee80211_queue_work(&sdata->local->hw,
sdata            1170 net/mac80211/mlme.c 		if (sdata->vif.bss_conf.chandef.width <
sdata            1171 net/mac80211/mlme.c 		    sdata->csa_chandef.width) {
sdata            1180 net/mac80211/mlme.c 	if (!cfg80211_chandef_identical(&sdata->vif.bss_conf.chandef,
sdata            1181 net/mac80211/mlme.c 					&sdata->csa_chandef)) {
sdata            1182 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1184 net/mac80211/mlme.c 		ieee80211_queue_work(&sdata->local->hw,
sdata            1191 net/mac80211/mlme.c 	ieee80211_sta_reset_beacon_monitor(sdata);
sdata            1192 net/mac80211/mlme.c 	ieee80211_sta_reset_conn_monitor(sdata);
sdata            1197 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            1200 net/mac80211/mlme.c static void ieee80211_chswitch_post_beacon(struct ieee80211_sub_if_data *sdata)
sdata            1202 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            1203 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1206 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            1208 net/mac80211/mlme.c 	WARN_ON(!sdata->vif.csa_active);
sdata            1210 net/mac80211/mlme.c 	if (sdata->csa_block_tx) {
sdata            1211 net/mac80211/mlme.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            1213 net/mac80211/mlme.c 		sdata->csa_block_tx = false;
sdata            1216 net/mac80211/mlme.c 	sdata->vif.csa_active = false;
sdata            1219 net/mac80211/mlme.c 	ret = drv_post_channel_switch(sdata);
sdata            1221 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1228 net/mac80211/mlme.c 	cfg80211_ch_switch_notify(sdata->dev, &sdata->reserved_chandef);
sdata            1233 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            1234 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1236 net/mac80211/mlme.c 	trace_api_chswitch_done(sdata, success);
sdata            1238 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1240 net/mac80211/mlme.c 		ieee80211_queue_work(&sdata->local->hw,
sdata            1243 net/mac80211/mlme.c 		ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work);
sdata            1250 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            1251 net/mac80211/mlme.c 		from_timer(sdata, t, u.mgd.chswitch_timer);
sdata            1253 net/mac80211/mlme.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->u.mgd.chswitch_work);
sdata            1257 net/mac80211/mlme.c ieee80211_sta_abort_chanswitch(struct ieee80211_sub_if_data *sdata)
sdata            1259 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            1267 net/mac80211/mlme.c 	ieee80211_vif_unreserve_chanctx(sdata);
sdata            1270 net/mac80211/mlme.c 	if (sdata->csa_block_tx)
sdata            1271 net/mac80211/mlme.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            1274 net/mac80211/mlme.c 	sdata->csa_block_tx = false;
sdata            1275 net/mac80211/mlme.c 	sdata->vif.csa_active = false;
sdata            1279 net/mac80211/mlme.c 	drv_abort_channel_switch(sdata);
sdata            1283 net/mac80211/mlme.c ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
sdata            1288 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            1289 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1298 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            1307 net/mac80211/mlme.c 	res = ieee80211_parse_ch_switch_ie(sdata, elems, current_band,
sdata            1326 net/mac80211/mlme.c 	if (beacon && sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) {
sdata            1328 net/mac80211/mlme.c 			ieee80211_sta_abort_chanswitch(sdata);
sdata            1330 net/mac80211/mlme.c 			drv_channel_switch_rx_beacon(sdata, &ch_switch);
sdata            1332 net/mac80211/mlme.c 	} else if (sdata->vif.csa_active || res) {
sdata            1339 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1351 net/mac80211/mlme.c 				       &sdata->vif.bss_conf.chandef) &&
sdata            1355 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1368 net/mac80211/mlme.c 	ieee80211_teardown_tdls_peers(sdata);
sdata            1372 net/mac80211/mlme.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            1375 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1384 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1389 net/mac80211/mlme.c 	if (drv_pre_channel_switch(sdata, &ch_switch)) {
sdata            1390 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1395 net/mac80211/mlme.c 	res = ieee80211_vif_reserve_chanctx(sdata, &csa_ie.chandef,
sdata            1398 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            1405 net/mac80211/mlme.c 	sdata->vif.csa_active = true;
sdata            1406 net/mac80211/mlme.c 	sdata->csa_chandef = csa_ie.chandef;
sdata            1407 net/mac80211/mlme.c 	sdata->csa_block_tx = csa_ie.mode;
sdata            1410 net/mac80211/mlme.c 	if (sdata->csa_block_tx)
sdata            1411 net/mac80211/mlme.c 		ieee80211_stop_vif_queues(local, sdata,
sdata            1415 net/mac80211/mlme.c 	cfg80211_ch_switch_started_notify(sdata->dev, &csa_ie.chandef,
sdata            1420 net/mac80211/mlme.c 		drv_channel_switch(local, sdata, &ch_switch);
sdata            1440 net/mac80211/mlme.c 	sdata->vif.csa_active = true;
sdata            1441 net/mac80211/mlme.c 	sdata->csa_block_tx = csa_ie.mode;
sdata            1449 net/mac80211/mlme.c ieee80211_find_80211h_pwr_constr(struct ieee80211_sub_if_data *sdata,
sdata            1510 net/mac80211/mlme.c static void ieee80211_find_cisco_dtpc(struct ieee80211_sub_if_data *sdata,
sdata            1524 net/mac80211/mlme.c static u32 ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,
sdata            1541 net/mac80211/mlme.c 			sdata, channel, country_ie, country_ie_len,
sdata            1549 net/mac80211/mlme.c 			sdata, channel, cisco_dtpc_ie, &pwr_level_cisco);
sdata            1563 net/mac80211/mlme.c 		if (sdata->ap_power_level == new_ap_level)
sdata            1566 net/mac80211/mlme.c 		sdata_dbg(sdata,
sdata            1569 net/mac80211/mlme.c 			  sdata->u.mgd.bssid);
sdata            1573 net/mac80211/mlme.c 		if (sdata->ap_power_level == new_ap_level)
sdata            1576 net/mac80211/mlme.c 		sdata_dbg(sdata,
sdata            1578 net/mac80211/mlme.c 			  pwr_level_cisco, sdata->u.mgd.bssid);
sdata            1581 net/mac80211/mlme.c 	sdata->ap_power_level = new_ap_level;
sdata            1582 net/mac80211/mlme.c 	if (__ieee80211_recalc_txpower(sdata))
sdata            1589 net/mac80211/mlme.c 				struct ieee80211_sub_if_data *sdata)
sdata            1606 net/mac80211/mlme.c 			ieee80211_send_nullfunc(local, sdata, true);
sdata            1631 net/mac80211/mlme.c static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata)
sdata            1633 net/mac80211/mlme.c 	struct ieee80211_if_managed *mgd = &sdata->u.mgd;
sdata            1653 net/mac80211/mlme.c 	sta = sta_info_get(sdata, mgd->bssid);
sdata            1664 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata, *found = NULL;
sdata            1673 net/mac80211/mlme.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1674 net/mac80211/mlme.c 		if (!ieee80211_sdata_running(sdata))
sdata            1676 net/mac80211/mlme.c 		if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            1684 net/mac80211/mlme.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            1686 net/mac80211/mlme.c 		found = sdata;
sdata            1711 net/mac80211/mlme.c void ieee80211_recalc_ps_vif(struct ieee80211_sub_if_data *sdata)
sdata            1713 net/mac80211/mlme.c 	bool ps_allowed = ieee80211_powersave_allowed(sdata);
sdata            1715 net/mac80211/mlme.c 	if (sdata->vif.bss_conf.ps != ps_allowed) {
sdata            1716 net/mac80211/mlme.c 		sdata->vif.bss_conf.ps = ps_allowed;
sdata            1717 net/mac80211/mlme.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_PS);
sdata            1743 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = local->ps_sdata;
sdata            1749 net/mac80211/mlme.c 	if (!sdata)
sdata            1752 net/mac80211/mlme.c 	ifmgd = &sdata->u.mgd;
sdata            1792 net/mac80211/mlme.c 			ieee80211_send_nullfunc(local, sdata, true);
sdata            1794 net/mac80211/mlme.c 			ieee80211_flush_queues(local, sdata, false);
sdata            1817 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            1820 net/mac80211/mlme.c 	struct cfg80211_chan_def chandef = sdata->vif.bss_conf.chandef;
sdata            1822 net/mac80211/mlme.c 	mutex_lock(&sdata->local->mtx);
sdata            1823 net/mac80211/mlme.c 	if (sdata->wdev.cac_started) {
sdata            1824 net/mac80211/mlme.c 		ieee80211_vif_release_channel(sdata);
sdata            1825 net/mac80211/mlme.c 		cfg80211_cac_event(sdata->dev, &chandef,
sdata            1829 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->mtx);
sdata            1833 net/mac80211/mlme.c __ieee80211_sta_handle_tspec_ac_params(struct ieee80211_sub_if_data *sdata)
sdata            1835 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            1836 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1862 net/mac80211/mlme.c 			if (drv_conf_tx(local, sdata, ac, &sdata->tx_conf[ac]))
sdata            1863 net/mac80211/mlme.c 				sdata_err(sdata,
sdata            1880 net/mac80211/mlme.c 				if (!(sdata->wmm_acm & BIT(7 - 2 * non_acm_ac)))
sdata            1891 net/mac80211/mlme.c 			if (drv_conf_tx(local, sdata, ac,
sdata            1892 net/mac80211/mlme.c 					&sdata->tx_conf[non_acm_ac]))
sdata            1893 net/mac80211/mlme.c 				sdata_err(sdata,
sdata            1910 net/mac80211/mlme.c void ieee80211_sta_handle_tspec_ac_params(struct ieee80211_sub_if_data *sdata)
sdata            1912 net/mac80211/mlme.c 	if (__ieee80211_sta_handle_tspec_ac_params(sdata))
sdata            1913 net/mac80211/mlme.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_QOS);
sdata            1918 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata;
sdata            1920 net/mac80211/mlme.c 	sdata = container_of(work, struct ieee80211_sub_if_data,
sdata            1922 net/mac80211/mlme.c 	ieee80211_sta_handle_tspec_ac_params(sdata);
sdata            1928 net/mac80211/mlme.c 			 struct ieee80211_sub_if_data *sdata,
sdata            1933 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1971 net/mac80211/mlme.c 	sdata->wmm_acm = 0;
sdata            1981 net/mac80211/mlme.c 				sdata->wmm_acm |= BIT(1) | BIT(2); /* BK/- */
sdata            1991 net/mac80211/mlme.c 				sdata->wmm_acm |= BIT(4) | BIT(5); /* CL/VI */
sdata            2001 net/mac80211/mlme.c 				sdata->wmm_acm |= BIT(6) | BIT(7); /* VO/NC */
sdata            2012 net/mac80211/mlme.c 				sdata->wmm_acm |= BIT(0) | BIT(3); /* BE/EE */
sdata            2024 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            2037 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            2042 net/mac80211/mlme.c 		ieee80211_regulatory_limit_wmm_params(sdata, &params[ac], ac);
sdata            2048 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            2056 net/mac80211/mlme.c 		mlme_dbg(sdata,
sdata            2062 net/mac80211/mlme.c 		sdata->tx_conf[ac] = params[ac];
sdata            2064 net/mac80211/mlme.c 		    drv_conf_tx(local, sdata, ac, &params[ac]))
sdata            2065 net/mac80211/mlme.c 			sdata_err(sdata,
sdata            2071 net/mac80211/mlme.c 	sdata->vif.bss_conf.qos = true;
sdata            2075 net/mac80211/mlme.c static void __ieee80211_stop_poll(struct ieee80211_sub_if_data *sdata)
sdata            2077 net/mac80211/mlme.c 	lockdep_assert_held(&sdata->local->mtx);
sdata            2079 net/mac80211/mlme.c 	sdata->u.mgd.flags &= ~IEEE80211_STA_CONNECTION_POLL;
sdata            2080 net/mac80211/mlme.c 	ieee80211_run_deferred_scan(sdata->local);
sdata            2083 net/mac80211/mlme.c static void ieee80211_stop_poll(struct ieee80211_sub_if_data *sdata)
sdata            2085 net/mac80211/mlme.c 	mutex_lock(&sdata->local->mtx);
sdata            2086 net/mac80211/mlme.c 	__ieee80211_stop_poll(sdata);
sdata            2087 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->mtx);
sdata            2090 net/mac80211/mlme.c static u32 ieee80211_handle_bss_capability(struct ieee80211_sub_if_data *sdata,
sdata            2093 net/mac80211/mlme.c 	struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
sdata            2100 net/mac80211/mlme.c 	sband = ieee80211_get_sband(sdata);
sdata            2134 net/mac80211/mlme.c static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata,
sdata            2139 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            2140 net/mac80211/mlme.c 	struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
sdata            2143 net/mac80211/mlme.c 	bss_info_changed |= ieee80211_handle_bss_capability(sdata,
sdata            2146 net/mac80211/mlme.c 	sdata->u.mgd.beacon_timeout = usecs_to_jiffies(ieee80211_tu_to_usec(
sdata            2149 net/mac80211/mlme.c 	sdata->u.mgd.associated = cbss;
sdata            2150 net/mac80211/mlme.c 	memcpy(sdata->u.mgd.bssid, cbss->bssid, ETH_ALEN);
sdata            2152 net/mac80211/mlme.c 	ieee80211_check_rate_mask(sdata);
sdata            2154 net/mac80211/mlme.c 	sdata->u.mgd.flags |= IEEE80211_STA_RESET_SIGNAL_AVE;
sdata            2156 net/mac80211/mlme.c 	if (sdata->vif.p2p ||
sdata            2157 net/mac80211/mlme.c 	    sdata->vif.driver_flags & IEEE80211_VIF_GET_NOA_UPDATE) {
sdata            2171 net/mac80211/mlme.c 				sdata->u.mgd.p2p_noa_index =
sdata            2180 net/mac80211/mlme.c 	ieee80211_stop_poll(sdata);
sdata            2184 net/mac80211/mlme.c 	if (sdata->u.mgd.have_beacon) {
sdata            2191 net/mac80211/mlme.c 		bss_conf->dtim_period = sdata->u.mgd.dtim_period ?: 1;
sdata            2202 net/mac80211/mlme.c 	if (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI &&
sdata            2210 net/mac80211/mlme.c 	ieee80211_bss_info_change_notify(sdata, bss_info_changed);
sdata            2216 net/mac80211/mlme.c 	ieee80211_recalc_smps(sdata);
sdata            2217 net/mac80211/mlme.c 	ieee80211_recalc_ps_vif(sdata);
sdata            2219 net/mac80211/mlme.c 	netif_carrier_on(sdata->dev);
sdata            2222 net/mac80211/mlme.c static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            2226 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2227 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            2230 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            2238 net/mac80211/mlme.c 	ieee80211_stop_poll(sdata);
sdata            2241 net/mac80211/mlme.c 	netif_carrier_off(sdata->dev);
sdata            2255 net/mac80211/mlme.c 	ieee80211_recalc_ps_vif(sdata);
sdata            2267 net/mac80211/mlme.c 		ieee80211_flush_queues(local, sdata, true);
sdata            2279 net/mac80211/mlme.c 			drv_mgd_prepare_tx(sdata->local, sdata, 0);
sdata            2281 net/mac80211/mlme.c 		ieee80211_send_deauth_disassoc(sdata, ifmgd->bssid,
sdata            2288 net/mac80211/mlme.c 		ieee80211_flush_queues(local, sdata, false);
sdata            2294 net/mac80211/mlme.c 	sta_info_flush(sdata);
sdata            2297 net/mac80211/mlme.c 	changed |= ieee80211_reset_erp_info(sdata);
sdata            2301 net/mac80211/mlme.c 	sdata->vif.bss_conf.assoc = false;
sdata            2304 net/mac80211/mlme.c 	memset(&sdata->vif.bss_conf.p2p_noa_attr, 0,
sdata            2305 net/mac80211/mlme.c 	       sizeof(sdata->vif.bss_conf.p2p_noa_attr));
sdata            2314 net/mac80211/mlme.c 	memset(sdata->vif.bss_conf.mu_group.membership, 0,
sdata            2315 net/mac80211/mlme.c 	       sizeof(sdata->vif.bss_conf.mu_group.membership));
sdata            2316 net/mac80211/mlme.c 	memset(sdata->vif.bss_conf.mu_group.position, 0,
sdata            2317 net/mac80211/mlme.c 	       sizeof(sdata->vif.bss_conf.mu_group.position));
sdata            2319 net/mac80211/mlme.c 	sdata->vif.mu_mimo_owner = false;
sdata            2321 net/mac80211/mlme.c 	sdata->ap_power_level = IEEE80211_UNSET_POWER_LEVEL;
sdata            2327 net/mac80211/mlme.c 	if (sdata->vif.bss_conf.arp_addr_cnt)
sdata            2330 net/mac80211/mlme.c 	sdata->vif.bss_conf.qos = false;
sdata            2335 net/mac80211/mlme.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            2338 net/mac80211/mlme.c 	ieee80211_set_wmm_default(sdata, false, false);
sdata            2340 net/mac80211/mlme.c 	del_timer_sync(&sdata->u.mgd.conn_mon_timer);
sdata            2341 net/mac80211/mlme.c 	del_timer_sync(&sdata->u.mgd.bcn_mon_timer);
sdata            2342 net/mac80211/mlme.c 	del_timer_sync(&sdata->u.mgd.timer);
sdata            2343 net/mac80211/mlme.c 	del_timer_sync(&sdata->u.mgd.chswitch_timer);
sdata            2345 net/mac80211/mlme.c 	sdata->vif.bss_conf.dtim_period = 0;
sdata            2346 net/mac80211/mlme.c 	sdata->vif.bss_conf.beacon_rate = NULL;
sdata            2352 net/mac80211/mlme.c 	ieee80211_vif_release_channel(sdata);
sdata            2354 net/mac80211/mlme.c 	sdata->vif.csa_active = false;
sdata            2357 net/mac80211/mlme.c 	if (sdata->csa_block_tx) {
sdata            2358 net/mac80211/mlme.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            2360 net/mac80211/mlme.c 		sdata->csa_block_tx = false;
sdata            2368 net/mac80211/mlme.c 	sdata->encrypt_headroom = IEEE80211_ENCRYPT_HEADROOM;
sdata            2371 net/mac80211/mlme.c void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata,
sdata            2385 net/mac80211/mlme.c 	ieee80211_sta_reset_conn_monitor(sdata);
sdata            2388 net/mac80211/mlme.c static void ieee80211_reset_ap_probe(struct ieee80211_sub_if_data *sdata)
sdata            2390 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2391 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            2397 net/mac80211/mlme.c 	__ieee80211_stop_poll(sdata);
sdata            2403 net/mac80211/mlme.c 	if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR))
sdata            2411 net/mac80211/mlme.c 	ieee80211_sta_reset_beacon_monitor(sdata);
sdata            2420 net/mac80211/mlme.c static void ieee80211_sta_tx_wmm_ac_notify(struct ieee80211_sub_if_data *sdata,
sdata            2424 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2455 net/mac80211/mlme.c void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata,
sdata            2458 net/mac80211/mlme.c 	ieee80211_sta_tx_wmm_ac_notify(sdata, hdr, tx_time);
sdata            2464 net/mac80211/mlme.c 	    sdata->u.mgd.probe_send_count > 0) {
sdata            2466 net/mac80211/mlme.c 			ieee80211_sta_reset_conn_monitor(sdata);
sdata            2468 net/mac80211/mlme.c 			sdata->u.mgd.nullfunc_failed = true;
sdata            2469 net/mac80211/mlme.c 		ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata            2474 net/mac80211/mlme.c 		ieee80211_sta_reset_conn_monitor(sdata);
sdata            2477 net/mac80211/mlme.c static void ieee80211_mlme_send_probe_req(struct ieee80211_sub_if_data *sdata,
sdata            2484 net/mac80211/mlme.c 	skb = ieee80211_build_probe_req(sdata, src, dst, (u32)-1, channel,
sdata            2488 net/mac80211/mlme.c 		ieee80211_tx_skb(sdata, skb);
sdata            2491 net/mac80211/mlme.c static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)
sdata            2493 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2517 net/mac80211/mlme.c 		mutex_lock(&sdata->local->sta_mtx);
sdata            2518 net/mac80211/mlme.c 		sta = sta_info_get(sdata, dst);
sdata            2521 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->sta_mtx);
sdata            2524 net/mac80211/mlme.c 	if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) {
sdata            2529 net/mac80211/mlme.c 			ieee80211_send_nullfunc(sdata->local, sdata, false);
sdata            2540 net/mac80211/mlme.c 		ieee80211_mlme_send_probe_req(sdata, sdata->vif.addr, dst,
sdata            2547 net/mac80211/mlme.c 	run_again(sdata, ifmgd->probe_timeout);
sdata            2550 net/mac80211/mlme.c static void ieee80211_mgd_probe_ap(struct ieee80211_sub_if_data *sdata,
sdata            2553 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2556 net/mac80211/mlme.c 	if (!ieee80211_sdata_running(sdata))
sdata            2559 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            2564 net/mac80211/mlme.c 	mutex_lock(&sdata->local->mtx);
sdata            2566 net/mac80211/mlme.c 	if (sdata->local->tmp_channel || sdata->local->scanning) {
sdata            2567 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->mtx);
sdata            2572 net/mac80211/mlme.c 		mlme_dbg_ratelimited(sdata,
sdata            2576 net/mac80211/mlme.c 		ieee80211_cqm_beacon_loss_notify(&sdata->vif, GFP_KERNEL);
sdata            2595 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->mtx);
sdata            2600 net/mac80211/mlme.c 	mutex_lock(&sdata->local->iflist_mtx);
sdata            2601 net/mac80211/mlme.c 	ieee80211_recalc_ps(sdata->local);
sdata            2602 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->iflist_mtx);
sdata            2605 net/mac80211/mlme.c 	ieee80211_mgd_probe_ap_send(sdata);
sdata            2607 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            2613 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            2614 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2620 net/mac80211/mlme.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
sdata            2623 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            2642 net/mac80211/mlme.c 	skb = ieee80211_build_probe_req(sdata, sdata->vif.addr, cbss->bssid,
sdata            2652 net/mac80211/mlme.c static void ieee80211_report_disconnect(struct ieee80211_sub_if_data *sdata,
sdata            2663 net/mac80211/mlme.c 		cfg80211_tx_mlme_mgmt(sdata->dev, buf, len);
sdata            2665 net/mac80211/mlme.c 		cfg80211_rx_mlme_mgmt(sdata->dev, buf, len);
sdata            2667 net/mac80211/mlme.c 	drv_event_callback(sdata->local, sdata, &event);
sdata            2670 net/mac80211/mlme.c static void __ieee80211_disconnect(struct ieee80211_sub_if_data *sdata)
sdata            2672 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            2673 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2677 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            2679 net/mac80211/mlme.c 		sdata_unlock(sdata);
sdata            2683 net/mac80211/mlme.c 	tx = !sdata->csa_block_tx;
sdata            2690 net/mac80211/mlme.c 	ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
sdata            2694 net/mac80211/mlme.c 	sdata->vif.csa_active = false;
sdata            2696 net/mac80211/mlme.c 	if (sdata->csa_block_tx) {
sdata            2697 net/mac80211/mlme.c 		ieee80211_wake_vif_queues(local, sdata,
sdata            2699 net/mac80211/mlme.c 		sdata->csa_block_tx = false;
sdata            2703 net/mac80211/mlme.c 	ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), tx,
sdata            2706 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            2711 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            2714 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2720 net/mac80211/mlme.c 		sdata_info(sdata, "Connection to AP %pM lost\n",
sdata            2722 net/mac80211/mlme.c 		__ieee80211_disconnect(sdata);
sdata            2724 net/mac80211/mlme.c 		ieee80211_mgd_probe_ap(sdata, true);
sdata            2730 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            2734 net/mac80211/mlme.c 	__ieee80211_disconnect(sdata);
sdata            2739 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            2740 net/mac80211/mlme.c 	struct ieee80211_hw *hw = &sdata->local->hw;
sdata            2742 net/mac80211/mlme.c 	trace_api_beacon_loss(sdata);
sdata            2744 net/mac80211/mlme.c 	sdata->u.mgd.connection_loss = false;
sdata            2745 net/mac80211/mlme.c 	ieee80211_queue_work(hw, &sdata->u.mgd.beacon_connection_loss_work);
sdata            2751 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            2752 net/mac80211/mlme.c 	struct ieee80211_hw *hw = &sdata->local->hw;
sdata            2754 net/mac80211/mlme.c 	trace_api_connection_loss(sdata);
sdata            2756 net/mac80211/mlme.c 	sdata->u.mgd.connection_loss = true;
sdata            2757 net/mac80211/mlme.c 	ieee80211_queue_work(hw, &sdata->u.mgd.beacon_connection_loss_work);
sdata            2762 net/mac80211/mlme.c static void ieee80211_destroy_auth_data(struct ieee80211_sub_if_data *sdata,
sdata            2765 net/mac80211/mlme.c 	struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data;
sdata            2767 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            2775 net/mac80211/mlme.c 		del_timer_sync(&sdata->u.mgd.timer);
sdata            2776 net/mac80211/mlme.c 		sta_info_destroy_addr(sdata, auth_data->bss->bssid);
sdata            2778 net/mac80211/mlme.c 		eth_zero_addr(sdata->u.mgd.bssid);
sdata            2779 net/mac80211/mlme.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
sdata            2780 net/mac80211/mlme.c 		sdata->u.mgd.flags = 0;
sdata            2781 net/mac80211/mlme.c 		mutex_lock(&sdata->local->mtx);
sdata            2782 net/mac80211/mlme.c 		ieee80211_vif_release_channel(sdata);
sdata            2783 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->mtx);
sdata            2786 net/mac80211/mlme.c 	cfg80211_put_bss(sdata->local->hw.wiphy, auth_data->bss);
sdata            2788 net/mac80211/mlme.c 	sdata->u.mgd.auth_data = NULL;
sdata            2791 net/mac80211/mlme.c static void ieee80211_destroy_assoc_data(struct ieee80211_sub_if_data *sdata,
sdata            2794 net/mac80211/mlme.c 	struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data;
sdata            2796 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            2804 net/mac80211/mlme.c 		del_timer_sync(&sdata->u.mgd.timer);
sdata            2805 net/mac80211/mlme.c 		sta_info_destroy_addr(sdata, assoc_data->bss->bssid);
sdata            2807 net/mac80211/mlme.c 		eth_zero_addr(sdata->u.mgd.bssid);
sdata            2808 net/mac80211/mlme.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
sdata            2809 net/mac80211/mlme.c 		sdata->u.mgd.flags = 0;
sdata            2810 net/mac80211/mlme.c 		sdata->vif.mu_mimo_owner = false;
sdata            2812 net/mac80211/mlme.c 		mutex_lock(&sdata->local->mtx);
sdata            2813 net/mac80211/mlme.c 		ieee80211_vif_release_channel(sdata);
sdata            2814 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->mtx);
sdata            2817 net/mac80211/mlme.c 			cfg80211_abandon_assoc(sdata->dev, assoc_data->bss);
sdata            2821 net/mac80211/mlme.c 	sdata->u.mgd.assoc_data = NULL;
sdata            2824 net/mac80211/mlme.c static void ieee80211_auth_challenge(struct ieee80211_sub_if_data *sdata,
sdata            2827 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            2828 net/mac80211/mlme.c 	struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data;
sdata            2839 net/mac80211/mlme.c 	drv_mgd_prepare_tx(sdata->local, sdata, 0);
sdata            2843 net/mac80211/mlme.c 	ieee80211_send_auth(sdata, 3, auth_data->algorithm, 0,
sdata            2850 net/mac80211/mlme.c static bool ieee80211_mark_sta_auth(struct ieee80211_sub_if_data *sdata,
sdata            2853 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2857 net/mac80211/mlme.c 	sdata_info(sdata, "authenticated\n");
sdata            2861 net/mac80211/mlme.c 	run_again(sdata, ifmgd->auth_data->timeout);
sdata            2864 net/mac80211/mlme.c 	mutex_lock(&sdata->local->sta_mtx);
sdata            2865 net/mac80211/mlme.c 	sta = sta_info_get(sdata, bssid);
sdata            2867 net/mac80211/mlme.c 		WARN_ONCE(1, "%s: STA %pM not found", sdata->name, bssid);
sdata            2872 net/mac80211/mlme.c 		sdata_info(sdata, "failed moving %pM to auth\n", bssid);
sdata            2878 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->sta_mtx);
sdata            2882 net/mac80211/mlme.c static void ieee80211_rx_mgmt_auth(struct ieee80211_sub_if_data *sdata,
sdata            2885 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            2893 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            2916 net/mac80211/mlme.c 		sdata_info(sdata, "%pM unexpected authentication state: alg %d (expected %d) transact %d (expected %d)\n",
sdata            2924 net/mac80211/mlme.c 		sdata_info(sdata, "%pM denied authentication (status %d)\n",
sdata            2926 net/mac80211/mlme.c 		ieee80211_destroy_auth_data(sdata, false);
sdata            2927 net/mac80211/mlme.c 		cfg80211_rx_mlme_mgmt(sdata->dev, (u8 *)mgmt, len);
sdata            2930 net/mac80211/mlme.c 		drv_event_callback(sdata->local, sdata, &event);
sdata            2945 net/mac80211/mlme.c 			ieee80211_auth_challenge(sdata, mgmt, len);
sdata            2957 net/mac80211/mlme.c 	drv_event_callback(sdata->local, sdata, &event);
sdata            2961 net/mac80211/mlme.c 		if (!ieee80211_mark_sta_auth(sdata, bssid))
sdata            2965 net/mac80211/mlme.c 		sdata_info(sdata, "SAE peer confirmed\n");
sdata            2969 net/mac80211/mlme.c 	cfg80211_rx_mlme_mgmt(sdata->dev, (u8 *)mgmt, len);
sdata            3029 net/mac80211/mlme.c static void ieee80211_rx_mgmt_deauth(struct ieee80211_sub_if_data *sdata,
sdata            3032 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3035 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3041 net/mac80211/mlme.c 		ieee80211_tdls_handle_disconnect(sdata, mgmt->sa, reason_code);
sdata            3049 net/mac80211/mlme.c 		sdata_info(sdata, "deauthenticated from %pM (Reason: %u=%s)\n",
sdata            3053 net/mac80211/mlme.c 		ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
sdata            3055 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, (u8 *)mgmt, len, false,
sdata            3064 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3069 net/mac80211/mlme.c 		ieee80211_destroy_assoc_data(sdata, false, true);
sdata            3071 net/mac80211/mlme.c 		cfg80211_rx_mlme_mgmt(sdata->dev, (u8 *)mgmt, len);
sdata            3077 net/mac80211/mlme.c static void ieee80211_rx_mgmt_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            3080 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3083 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3095 net/mac80211/mlme.c 		ieee80211_tdls_handle_disconnect(sdata, mgmt->sa, reason_code);
sdata            3099 net/mac80211/mlme.c 	sdata_info(sdata, "disassociated from %pM (Reason: %u=%s)\n",
sdata            3103 net/mac80211/mlme.c 	ieee80211_set_disassoc(sdata, 0, 0, false, NULL);
sdata            3105 net/mac80211/mlme.c 	ieee80211_report_disconnect(sdata, (u8 *)mgmt, len, false, reason_code);
sdata            3170 net/mac80211/mlme.c static int ieee80211_recalc_twt_req(struct ieee80211_sub_if_data *sdata,
sdata            3176 net/mac80211/mlme.c 	if (sdata->vif.bss_conf.twt_requester != twt) {
sdata            3177 net/mac80211/mlme.c 		sdata->vif.bss_conf.twt_requester = twt;
sdata            3183 net/mac80211/mlme.c static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
sdata            3187 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3188 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            3194 net/mac80211/mlme.c 	struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
sdata            3215 net/mac80211/mlme.c 		sdata_info(sdata, "invalid AID value %d (out of range), turn off PS\n",
sdata            3226 net/mac80211/mlme.c 		sdata_info(sdata, "no SuppRates element in AssocResp\n");
sdata            3266 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            3277 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            3283 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            3289 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            3295 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            3306 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3314 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3320 net/mac80211/mlme.c 	mutex_lock(&sdata->local->sta_mtx);
sdata            3325 net/mac80211/mlme.c 	sta = sta_info_get(sdata, cbss->bssid);
sdata            3327 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->sta_mtx);
sdata            3332 net/mac80211/mlme.c 	sband = ieee80211_get_sband(sdata);
sdata            3334 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->sta_mtx);
sdata            3341 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->sta_mtx);
sdata            3342 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3350 net/mac80211/mlme.c 		ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
sdata            3354 net/mac80211/mlme.c 		ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
sdata            3359 net/mac80211/mlme.c 		ieee80211_he_cap_ie_to_sta_he_cap(sdata, sband,
sdata            3365 net/mac80211/mlme.c 		changed |= ieee80211_recalc_twt_req(sdata, sta, &elems);
sdata            3395 net/mac80211/mlme.c 		ieee80211_he_op_ie_to_bss_conf(&sdata->vif, elems.he_operation);
sdata            3396 net/mac80211/mlme.c 		ieee80211_he_spr_ie_to_bss_conf(&sdata->vif, elems.he_spr);
sdata            3445 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3449 net/mac80211/mlme.c 		mutex_unlock(&sdata->local->sta_mtx);
sdata            3454 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->sta_mtx);
sdata            3466 net/mac80211/mlme.c 		ieee80211_set_wmm_default(sdata, false, false);
sdata            3467 net/mac80211/mlme.c 	} else if (!ieee80211_sta_wmm_params(local, sdata, elems.wmm_param,
sdata            3471 net/mac80211/mlme.c 		ieee80211_set_wmm_default(sdata, false, true);
sdata            3499 net/mac80211/mlme.c 	ieee80211_set_associated(sdata, cbss, changed);
sdata            3506 net/mac80211/mlme.c 		ieee80211_send_4addr_nullfunc(local, sdata);
sdata            3512 net/mac80211/mlme.c 	ieee80211_sta_rx_notify(sdata, (struct ieee80211_hdr *)mgmt);
sdata            3513 net/mac80211/mlme.c 	ieee80211_sta_reset_beacon_monitor(sdata);
sdata            3521 net/mac80211/mlme.c static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
sdata            3525 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3538 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3558 net/mac80211/mlme.c 	sdata_info(sdata,
sdata            3564 net/mac80211/mlme.c 	    fils_decrypt_assoc_resp(sdata, (u8 *)mgmt, &len, assoc_data) < 0)
sdata            3577 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            3583 net/mac80211/mlme.c 			run_again(sdata, assoc_data->timeout);
sdata            3590 net/mac80211/mlme.c 		sdata_info(sdata, "%pM denied association (code=%d)\n",
sdata            3592 net/mac80211/mlme.c 		ieee80211_destroy_assoc_data(sdata, false, false);
sdata            3595 net/mac80211/mlme.c 		drv_event_callback(sdata->local, sdata, &event);
sdata            3597 net/mac80211/mlme.c 		if (!ieee80211_assoc_success(sdata, bss, mgmt, len)) {
sdata            3599 net/mac80211/mlme.c 			ieee80211_destroy_assoc_data(sdata, false, false);
sdata            3600 net/mac80211/mlme.c 			cfg80211_assoc_timeout(sdata->dev, bss);
sdata            3604 net/mac80211/mlme.c 		drv_event_callback(sdata->local, sdata, &event);
sdata            3605 net/mac80211/mlme.c 		sdata_info(sdata, "associated\n");
sdata            3612 net/mac80211/mlme.c 		ieee80211_destroy_assoc_data(sdata, true, false);
sdata            3617 net/mac80211/mlme.c 			if (sdata->tx_conf[ac].uapsd)
sdata            3621 net/mac80211/mlme.c 	cfg80211_rx_assoc_resp(sdata->dev, bss, (u8 *)mgmt, len, uapsd_queues,
sdata            3625 net/mac80211/mlme.c static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
sdata            3629 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            3633 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3641 net/mac80211/mlme.c 		sdata->vif.bss_conf.beacon_rate = bss->beacon_rate;
sdata            3647 net/mac80211/mlme.c static void ieee80211_rx_mgmt_probe_resp(struct ieee80211_sub_if_data *sdata,
sdata            3655 net/mac80211/mlme.c 	ifmgd = &sdata->u.mgd;
sdata            3657 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3659 net/mac80211/mlme.c 	if (!ether_addr_equal(mgmt->da, sdata->vif.addr))
sdata            3666 net/mac80211/mlme.c 	ieee80211_rx_bss_info(sdata, mgmt, len, rx_status);
sdata            3670 net/mac80211/mlme.c 		ieee80211_reset_ap_probe(sdata);
sdata            3697 net/mac80211/mlme.c static void ieee80211_handle_beacon_sig(struct ieee80211_sub_if_data *sdata,
sdata            3733 net/mac80211/mlme.c 			drv_event_callback(local, sdata, &event);
sdata            3739 net/mac80211/mlme.c 			drv_event_callback(local, sdata, &event);
sdata            3745 net/mac80211/mlme.c 	    !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI)) {
sdata            3755 net/mac80211/mlme.c 				&sdata->vif,
sdata            3762 net/mac80211/mlme.c 				&sdata->vif,
sdata            3779 net/mac80211/mlme.c 				&sdata->vif,
sdata            3786 net/mac80211/mlme.c 				&sdata->vif,
sdata            3803 net/mac80211/mlme.c static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
sdata            3807 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3808 net/mac80211/mlme.c 	struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
sdata            3811 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            3822 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            3830 net/mac80211/mlme.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            3850 net/mac80211/mlme.c 		ieee80211_rx_bss_info(sdata, mgmt, len, rx_status);
sdata            3857 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_tsf =
sdata            3859 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_device_ts =
sdata            3861 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_dtim_count = elems.dtim_count;
sdata            3875 net/mac80211/mlme.c 		run_again(sdata, ifmgd->assoc_data->timeout);
sdata            3885 net/mac80211/mlme.c 		ieee80211_handle_beacon_sig(sdata, ifmgd, bss_conf,
sdata            3889 net/mac80211/mlme.c 		mlme_dbg_ratelimited(sdata,
sdata            3891 net/mac80211/mlme.c 		ieee80211_reset_ap_probe(sdata);
sdata            3898 net/mac80211/mlme.c 	ieee80211_sta_reset_beacon_monitor(sdata);
sdata            3914 net/mac80211/mlme.c 			ieee80211_send_nullfunc(local, sdata, false);
sdata            3915 net/mac80211/mlme.c 		} else if (!local->pspolling && sdata->u.mgd.powersave) {
sdata            3926 net/mac80211/mlme.c 			ieee80211_send_pspoll(local, sdata);
sdata            3930 net/mac80211/mlme.c 	if (sdata->vif.p2p ||
sdata            3931 net/mac80211/mlme.c 	    sdata->vif.driver_flags & IEEE80211_VIF_GET_NOA_UPDATE) {
sdata            3940 net/mac80211/mlme.c 			if (sdata->u.mgd.p2p_noa_index != noa.index) {
sdata            3942 net/mac80211/mlme.c 				sdata->u.mgd.p2p_noa_index = noa.index;
sdata            3951 net/mac80211/mlme.c 		} else if (sdata->u.mgd.p2p_noa_index != -1) {
sdata            3953 net/mac80211/mlme.c 			sdata->u.mgd.p2p_noa_index = -1;
sdata            3961 net/mac80211/mlme.c 		ieee80211_chswitch_post_beacon(sdata);
sdata            3972 net/mac80211/mlme.c 		sdata->vif.bss_conf.sync_tsf =
sdata            3974 net/mac80211/mlme.c 		sdata->vif.bss_conf.sync_device_ts =
sdata            3976 net/mac80211/mlme.c 		sdata->vif.bss_conf.sync_dtim_count = elems.dtim_count;
sdata            3984 net/mac80211/mlme.c 	ieee80211_rx_bss_info(sdata, mgmt, len, rx_status);
sdata            3986 net/mac80211/mlme.c 	ieee80211_sta_process_chanswitch(sdata, rx_status->mactime,
sdata            3991 net/mac80211/mlme.c 	    ieee80211_sta_wmm_params(local, sdata, elems.wmm_param,
sdata            4011 net/mac80211/mlme.c 		ieee80211_recalc_ps_vif(sdata);
sdata            4020 net/mac80211/mlme.c 	changed |= ieee80211_handle_bss_capability(sdata,
sdata            4025 net/mac80211/mlme.c 	sta = sta_info_get(sdata, bssid);
sdata            4027 net/mac80211/mlme.c 	changed |= ieee80211_recalc_twt_req(sdata, sta, &elems);
sdata            4029 net/mac80211/mlme.c 	if (ieee80211_config_bw(sdata, sta,
sdata            4034 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            4037 net/mac80211/mlme.c 		ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
sdata            4040 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, deauth_buf,
sdata            4047 net/mac80211/mlme.c 		ieee80211_vht_handle_opmode(sdata, sta, *elems.opmode_notif,
sdata            4051 net/mac80211/mlme.c 	changed |= ieee80211_handle_pwr_constr(sdata, chan, mgmt,
sdata            4057 net/mac80211/mlme.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata            4060 net/mac80211/mlme.c void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
sdata            4073 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            4077 net/mac80211/mlme.c 		ieee80211_rx_mgmt_beacon(sdata, mgmt, skb->len, rx_status);
sdata            4080 net/mac80211/mlme.c 		ieee80211_rx_mgmt_probe_resp(sdata, skb);
sdata            4083 net/mac80211/mlme.c 		ieee80211_rx_mgmt_auth(sdata, mgmt, skb->len);
sdata            4086 net/mac80211/mlme.c 		ieee80211_rx_mgmt_deauth(sdata, mgmt, skb->len);
sdata            4089 net/mac80211/mlme.c 		ieee80211_rx_mgmt_disassoc(sdata, mgmt, skb->len);
sdata            4093 net/mac80211/mlme.c 		ieee80211_rx_mgmt_assoc_resp(sdata, mgmt, skb->len);
sdata            4112 net/mac80211/mlme.c 			ieee80211_sta_process_chanswitch(sdata,
sdata            4139 net/mac80211/mlme.c 			ieee80211_sta_process_chanswitch(sdata,
sdata            4146 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            4151 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            4152 net/mac80211/mlme.c 		from_timer(sdata, t, u.mgd.timer);
sdata            4154 net/mac80211/mlme.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata            4157 net/mac80211/mlme.c static void ieee80211_sta_connection_lost(struct ieee80211_sub_if_data *sdata,
sdata            4162 net/mac80211/mlme.c 	ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH, reason,
sdata            4165 net/mac80211/mlme.c 	ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), true,
sdata            4169 net/mac80211/mlme.c static int ieee80211_auth(struct ieee80211_sub_if_data *sdata)
sdata            4171 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4172 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4179 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            4187 net/mac80211/mlme.c 		sdata_info(sdata, "authentication with %pM timed out\n",
sdata            4203 net/mac80211/mlme.c 	drv_mgd_prepare_tx(local, sdata, prepare_tx_duration);
sdata            4205 net/mac80211/mlme.c 	sdata_info(sdata, "send auth to %pM (try %d/%d)\n",
sdata            4221 net/mac80211/mlme.c 	ieee80211_send_auth(sdata, trans, auth_data->algorithm, status,
sdata            4239 net/mac80211/mlme.c 	run_again(sdata, auth_data->timeout);
sdata            4244 net/mac80211/mlme.c static int ieee80211_do_assoc(struct ieee80211_sub_if_data *sdata)
sdata            4246 net/mac80211/mlme.c 	struct ieee80211_mgd_assoc_data *assoc_data = sdata->u.mgd.assoc_data;
sdata            4247 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4249 net/mac80211/mlme.c 	sdata_assert_lock(sdata);
sdata            4253 net/mac80211/mlme.c 		sdata_info(sdata, "association with %pM timed out\n",
sdata            4265 net/mac80211/mlme.c 	sdata_info(sdata, "associate with %pM (try %d/%d)\n",
sdata            4268 net/mac80211/mlme.c 	ieee80211_send_assoc(sdata);
sdata            4273 net/mac80211/mlme.c 		run_again(sdata, assoc_data->timeout);
sdata            4279 net/mac80211/mlme.c 		run_again(sdata, assoc_data->timeout);
sdata            4285 net/mac80211/mlme.c void ieee80211_mgd_conn_tx_status(struct ieee80211_sub_if_data *sdata,
sdata            4288 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4290 net/mac80211/mlme.c 	sdata->u.mgd.status_fc = fc;
sdata            4291 net/mac80211/mlme.c 	sdata->u.mgd.status_acked = acked;
sdata            4292 net/mac80211/mlme.c 	sdata->u.mgd.status_received = true;
sdata            4294 net/mac80211/mlme.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata            4297 net/mac80211/mlme.c void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
sdata            4299 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4300 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4302 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            4320 net/mac80211/mlme.c 				run_again(sdata, ifmgd->auth_data->timeout);
sdata            4331 net/mac80211/mlme.c 				run_again(sdata, ifmgd->assoc_data->timeout);
sdata            4346 net/mac80211/mlme.c 			ieee80211_destroy_auth_data(sdata, false);
sdata            4347 net/mac80211/mlme.c 		} else if (ieee80211_auth(sdata)) {
sdata            4357 net/mac80211/mlme.c 			ieee80211_destroy_auth_data(sdata, false);
sdata            4359 net/mac80211/mlme.c 			cfg80211_auth_timeout(sdata->dev, bssid);
sdata            4360 net/mac80211/mlme.c 			drv_event_callback(sdata->local, sdata, &event);
sdata            4363 net/mac80211/mlme.c 		run_again(sdata, ifmgd->auth_data->timeout);
sdata            4368 net/mac80211/mlme.c 		    ieee80211_do_assoc(sdata)) {
sdata            4376 net/mac80211/mlme.c 			ieee80211_destroy_assoc_data(sdata, false, false);
sdata            4377 net/mac80211/mlme.c 			cfg80211_assoc_timeout(sdata->dev, bss);
sdata            4378 net/mac80211/mlme.c 			drv_event_callback(sdata->local, sdata, &event);
sdata            4381 net/mac80211/mlme.c 		run_again(sdata, ifmgd->assoc_data->timeout);
sdata            4397 net/mac80211/mlme.c 			ieee80211_reset_ap_probe(sdata);
sdata            4400 net/mac80211/mlme.c 				mlme_dbg(sdata,
sdata            4404 net/mac80211/mlme.c 				ieee80211_mgd_probe_ap_send(sdata);
sdata            4406 net/mac80211/mlme.c 				mlme_dbg(sdata,
sdata            4409 net/mac80211/mlme.c 				ieee80211_sta_connection_lost(sdata, bssid,
sdata            4414 net/mac80211/mlme.c 			run_again(sdata, ifmgd->probe_timeout);
sdata            4416 net/mac80211/mlme.c 			mlme_dbg(sdata,
sdata            4419 net/mac80211/mlme.c 			ieee80211_sta_connection_lost(sdata, bssid,
sdata            4422 net/mac80211/mlme.c 			mlme_dbg(sdata,
sdata            4426 net/mac80211/mlme.c 			ieee80211_mgd_probe_ap_send(sdata);
sdata            4432 net/mac80211/mlme.c 			mlme_dbg(sdata,
sdata            4436 net/mac80211/mlme.c 			ieee80211_sta_connection_lost(sdata, bssid,
sdata            4441 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            4446 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            4447 net/mac80211/mlme.c 		from_timer(sdata, t, u.mgd.bcn_mon_timer);
sdata            4448 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4450 net/mac80211/mlme.c 	if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn)
sdata            4453 net/mac80211/mlme.c 	sdata->u.mgd.connection_loss = false;
sdata            4454 net/mac80211/mlme.c 	ieee80211_queue_work(&sdata->local->hw,
sdata            4455 net/mac80211/mlme.c 			     &sdata->u.mgd.beacon_connection_loss_work);
sdata            4460 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            4461 net/mac80211/mlme.c 		from_timer(sdata, t, u.mgd.conn_mon_timer);
sdata            4462 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4463 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4465 net/mac80211/mlme.c 	if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn)
sdata            4473 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata =
sdata            4477 net/mac80211/mlme.c 	ieee80211_mgd_probe_ap(sdata, false);
sdata            4480 net/mac80211/mlme.c static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
sdata            4482 net/mac80211/mlme.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata            4483 net/mac80211/mlme.c 		__ieee80211_stop_poll(sdata);
sdata            4486 net/mac80211/mlme.c 		if (!ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR))
sdata            4487 net/mac80211/mlme.c 			ieee80211_queue_work(&sdata->local->hw,
sdata            4488 net/mac80211/mlme.c 					     &sdata->u.mgd.monitor_work);
sdata            4493 net/mac80211/mlme.c void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata)
sdata            4495 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4498 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            4510 net/mac80211/mlme.c 		ieee80211_send_deauth_disassoc(sdata, bssid, bssid,
sdata            4515 net/mac80211/mlme.c 			ieee80211_destroy_assoc_data(sdata, false, true);
sdata            4517 net/mac80211/mlme.c 			ieee80211_destroy_auth_data(sdata, false);
sdata            4518 net/mac80211/mlme.c 		cfg80211_tx_mlme_mgmt(sdata->dev, frame_buf,
sdata            4539 net/mac80211/mlme.c 	if (ifmgd->associated && !sdata->local->wowlan) {
sdata            4547 net/mac80211/mlme.c 		ieee80211_mgd_deauth(sdata, &req);
sdata            4550 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            4553 net/mac80211/mlme.c void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
sdata            4555 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4557 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            4559 net/mac80211/mlme.c 		sdata_unlock(sdata);
sdata            4563 net/mac80211/mlme.c 	if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) {
sdata            4564 net/mac80211/mlme.c 		sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME;
sdata            4565 net/mac80211/mlme.c 		mlme_dbg(sdata, "driver requested disconnect after resume\n");
sdata            4566 net/mac80211/mlme.c 		ieee80211_sta_connection_lost(sdata,
sdata            4570 net/mac80211/mlme.c 		sdata_unlock(sdata);
sdata            4573 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            4578 net/mac80211/mlme.c void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
sdata            4582 net/mac80211/mlme.c 	ifmgd = &sdata->u.mgd;
sdata            4600 net/mac80211/mlme.c 	ifmgd->powersave = sdata->wdev.ps;
sdata            4601 net/mac80211/mlme.c 	ifmgd->uapsd_queues = sdata->local->hw.uapsd_queues;
sdata            4602 net/mac80211/mlme.c 	ifmgd->uapsd_max_sp_len = sdata->local->hw.uapsd_max_sp_len;
sdata            4605 net/mac80211/mlme.c 	if (sdata->local->hw.wiphy->features & NL80211_FEATURE_DYNAMIC_SMPS)
sdata            4619 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata;
sdata            4623 net/mac80211/mlme.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata            4624 net/mac80211/mlme.c 		if (ieee80211_sdata_running(sdata))
sdata            4625 net/mac80211/mlme.c 			ieee80211_restart_sta_timer(sdata);
sdata            4630 net/mac80211/mlme.c static u8 ieee80211_ht_vht_rx_chains(struct ieee80211_sub_if_data *sdata,
sdata            4633 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4736 net/mac80211/mlme.c static int ieee80211_prep_channel(struct ieee80211_sub_if_data *sdata,
sdata            4739 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4740 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4787 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            4834 net/mac80211/mlme.c 	ifmgd->flags |= ieee80211_determine_chantype(sdata, sband,
sdata            4839 net/mac80211/mlme.c 	sdata->needed_rx_chains = min(ieee80211_ht_vht_rx_chains(sdata, cbss),
sdata            4845 net/mac80211/mlme.c 	sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata            4853 net/mac80211/mlme.c 	ret = ieee80211_vif_use_channel(sdata, &chandef,
sdata            4863 net/mac80211/mlme.c 		ret = ieee80211_vif_use_channel(sdata, &chandef,
sdata            4905 net/mac80211/mlme.c static int ieee80211_prep_connection(struct ieee80211_sub_if_data *sdata,
sdata            4909 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            4910 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            4928 net/mac80211/mlme.c 		have_sta = sta_info_get(sdata, cbss->bssid);
sdata            4933 net/mac80211/mlme.c 		new_sta = sta_info_alloc(sdata, cbss->bssid, GFP_KERNEL);
sdata            4956 net/mac80211/mlme.c 		int shift = ieee80211_vif_get_shift(&sdata->vif);
sdata            4974 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            4982 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            4985 net/mac80211/mlme.c 		sdata->vif.bss_conf.basic_rates = basic_rates;
sdata            4990 net/mac80211/mlme.c 			sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
sdata            4992 net/mac80211/mlme.c 			sdata->flags &= ~IEEE80211_SDATA_OPERATING_GMODE;
sdata            4997 net/mac80211/mlme.c 		sdata->vif.bss_conf.beacon_int = cbss->beacon_interval;
sdata            5001 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_tsf = ies->tsf;
sdata            5002 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_device_ts =
sdata            5006 net/mac80211/mlme.c 					   &sdata->vif.bss_conf.sync_dtim_count,
sdata            5008 net/mac80211/mlme.c 		} else if (!ieee80211_hw_check(&sdata->local->hw,
sdata            5012 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_tsf = ies->tsf;
sdata            5013 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_device_ts =
sdata            5015 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_dtim_count = 0;
sdata            5017 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_tsf = 0;
sdata            5018 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_device_ts = 0;
sdata            5019 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_dtim_count = 0;
sdata            5025 net/mac80211/mlme.c 		err = ieee80211_prep_channel(sdata, cbss);
sdata            5038 net/mac80211/mlme.c 		ieee80211_bss_info_change_notify(sdata,
sdata            5048 net/mac80211/mlme.c 			sdata_info(sdata,
sdata            5064 net/mac80211/mlme.c int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
sdata            5067 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            5068 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            5157 net/mac80211/mlme.c 		ieee80211_destroy_auth_data(sdata, cont_auth);
sdata            5170 net/mac80211/mlme.c 		ieee80211_mark_sta_auth(sdata, req->bss->bssid);
sdata            5175 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            5178 net/mac80211/mlme.c 		ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
sdata            5182 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, frame_buf,
sdata            5187 net/mac80211/mlme.c 	sdata_info(sdata, "authenticate with %pM\n", req->bss->bssid);
sdata            5189 net/mac80211/mlme.c 	err = ieee80211_prep_connection(sdata, req->bss, cont_auth, false);
sdata            5193 net/mac80211/mlme.c 	err = ieee80211_auth(sdata);
sdata            5195 net/mac80211/mlme.c 		sta_info_destroy_addr(sdata, req->bss->bssid);
sdata            5205 net/mac80211/mlme.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
sdata            5207 net/mac80211/mlme.c 	mutex_lock(&sdata->local->mtx);
sdata            5208 net/mac80211/mlme.c 	ieee80211_vif_release_channel(sdata);
sdata            5209 net/mac80211/mlme.c 	mutex_unlock(&sdata->local->mtx);
sdata            5214 net/mac80211/mlme.c int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
sdata            5217 net/mac80211/mlme.c 	struct ieee80211_local *local = sdata->local;
sdata            5218 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            5245 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            5248 net/mac80211/mlme.c 		ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
sdata            5252 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, frame_buf,
sdata            5272 net/mac80211/mlme.c 		ieee80211_destroy_auth_data(sdata, match);
sdata            5296 net/mac80211/mlme.c 			netdev_info(sdata->dev,
sdata            5309 net/mac80211/mlme.c 			netdev_info(sdata->dev,
sdata            5320 net/mac80211/mlme.c 			netdev_info(sdata->dev,
sdata            5356 net/mac80211/mlme.c 			sdata->smps_mode = IEEE80211_SMPS_DYNAMIC;
sdata            5358 net/mac80211/mlme.c 			sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata            5360 net/mac80211/mlme.c 		sdata->smps_mode = ifmgd->req_smps;
sdata            5381 net/mac80211/mlme.c 	if (WARN((sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD) &&
sdata            5384 net/mac80211/mlme.c 		sdata->vif.driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD;
sdata            5387 net/mac80211/mlme.c 	    (sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_UAPSD)) {
sdata            5416 net/mac80211/mlme.c 	sdata->control_port_protocol = req->crypto.control_port_ethertype;
sdata            5417 net/mac80211/mlme.c 	sdata->control_port_no_encrypt = req->crypto.control_port_no_encrypt;
sdata            5418 net/mac80211/mlme.c 	sdata->control_port_over_nl80211 =
sdata            5420 net/mac80211/mlme.c 	sdata->encrypt_headroom = ieee80211_cs_headroom(local, &req->crypto,
sdata            5421 net/mac80211/mlme.c 							sdata->vif.type);
sdata            5437 net/mac80211/mlme.c 		ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap);
sdata            5458 net/mac80211/mlme.c 	err = ieee80211_prep_connection(sdata, req->bss, true, override);
sdata            5465 net/mac80211/mlme.c 	if (ieee80211_hw_check(&sdata->local->hw, NEED_DTIM_BEFORE_ASSOC) &&
sdata            5471 net/mac80211/mlme.c 		sdata_info(sdata, "waiting for beacon from %pM\n",
sdata            5488 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_tsf = beacon_ies->tsf;
sdata            5489 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_device_ts =
sdata            5491 net/mac80211/mlme.c 			sdata->vif.bss_conf.sync_dtim_count = dtim_count;
sdata            5497 net/mac80211/mlme.c 			sdata->vif.bss_conf.profile_periodicity = ie[4];
sdata            5503 net/mac80211/mlme.c 			sdata->vif.bss_conf.ema_ap = true;
sdata            5510 net/mac80211/mlme.c 	run_again(sdata, assoc_data->timeout);
sdata            5522 net/mac80211/mlme.c 		sdata_info(sdata, "associating with AP with corrupt %s\n",
sdata            5529 net/mac80211/mlme.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
sdata            5536 net/mac80211/mlme.c int ieee80211_mgd_deauth(struct ieee80211_sub_if_data *sdata,
sdata            5539 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            5545 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            5550 net/mac80211/mlme.c 		drv_mgd_prepare_tx(sdata->local, sdata, 0);
sdata            5551 net/mac80211/mlme.c 		ieee80211_send_deauth_disassoc(sdata, req->bssid, req->bssid,
sdata            5555 net/mac80211/mlme.c 		ieee80211_destroy_auth_data(sdata, false);
sdata            5556 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, frame_buf,
sdata            5565 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            5570 net/mac80211/mlme.c 		drv_mgd_prepare_tx(sdata->local, sdata, 0);
sdata            5571 net/mac80211/mlme.c 		ieee80211_send_deauth_disassoc(sdata, req->bssid, req->bssid,
sdata            5575 net/mac80211/mlme.c 		ieee80211_destroy_assoc_data(sdata, false, true);
sdata            5576 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, frame_buf,
sdata            5584 net/mac80211/mlme.c 		sdata_info(sdata,
sdata            5589 net/mac80211/mlme.c 		ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH,
sdata            5591 net/mac80211/mlme.c 		ieee80211_report_disconnect(sdata, frame_buf,
sdata            5600 net/mac80211/mlme.c int ieee80211_mgd_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            5603 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            5616 net/mac80211/mlme.c 	sdata_info(sdata,
sdata            5621 net/mac80211/mlme.c 	ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DISASSOC,
sdata            5625 net/mac80211/mlme.c 	ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), true,
sdata            5631 net/mac80211/mlme.c void ieee80211_mgd_stop(struct ieee80211_sub_if_data *sdata)
sdata            5633 net/mac80211/mlme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            5647 net/mac80211/mlme.c 	sdata_lock(sdata);
sdata            5650 net/mac80211/mlme.c 		ieee80211_destroy_assoc_data(sdata, false, false);
sdata            5651 net/mac80211/mlme.c 		cfg80211_assoc_timeout(sdata->dev, bss);
sdata            5654 net/mac80211/mlme.c 		ieee80211_destroy_auth_data(sdata, false);
sdata            5666 net/mac80211/mlme.c 	sdata_unlock(sdata);
sdata            5674 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            5676 net/mac80211/mlme.c 	trace_api_cqm_rssi_notify(sdata, rssi_event, rssi_level);
sdata            5678 net/mac80211/mlme.c 	cfg80211_cqm_rssi_notify(sdata->dev, rssi_event, rssi_level, gfp);
sdata            5684 net/mac80211/mlme.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            5686 net/mac80211/mlme.c 	trace_api_cqm_beacon_loss_notify(sdata->local, sdata);
sdata            5688 net/mac80211/mlme.c 	cfg80211_cqm_beacon_loss_notify(sdata->dev, gfp);
sdata              38 net/mac80211/ocb.c void ieee80211_ocb_rx_no_sta(struct ieee80211_sub_if_data *sdata,
sdata              42 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata              43 net/mac80211/ocb.c 	struct ieee80211_local *local = sdata->local;
sdata              55 net/mac80211/ocb.c 				     sdata->name, addr);
sdata              59 net/mac80211/ocb.c 	ocb_dbg(sdata, "Adding new OCB station %pM\n", addr);
sdata              62 net/mac80211/ocb.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata              71 net/mac80211/ocb.c 	sta = sta_info_alloc(sdata, addr, GFP_ATOMIC);
sdata              83 net/mac80211/ocb.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata              89 net/mac80211/ocb.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata              94 net/mac80211/ocb.c 	ocb_dbg(sdata, "Adding new IBSS station %pM (dev=%s)\n",
sdata              95 net/mac80211/ocb.c 		addr, sdata->name);
sdata             105 net/mac80211/ocb.c 		return sta_info_get(sdata, addr);
sdata             109 net/mac80211/ocb.c static void ieee80211_ocb_housekeeping(struct ieee80211_sub_if_data *sdata)
sdata             111 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             113 net/mac80211/ocb.c 	ocb_dbg(sdata, "Running ocb housekeeping\n");
sdata             115 net/mac80211/ocb.c 	ieee80211_sta_expire(sdata, IEEE80211_OCB_PEER_INACTIVITY_LIMIT);
sdata             121 net/mac80211/ocb.c void ieee80211_ocb_work(struct ieee80211_sub_if_data *sdata)
sdata             123 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             129 net/mac80211/ocb.c 	sdata_lock(sdata);
sdata             145 net/mac80211/ocb.c 		ieee80211_ocb_housekeeping(sdata);
sdata             147 net/mac80211/ocb.c 	sdata_unlock(sdata);
sdata             152 net/mac80211/ocb.c 	struct ieee80211_sub_if_data *sdata =
sdata             153 net/mac80211/ocb.c 		from_timer(sdata, t, u.ocb.housekeeping_timer);
sdata             154 net/mac80211/ocb.c 	struct ieee80211_local *local = sdata->local;
sdata             155 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             159 net/mac80211/ocb.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata             162 net/mac80211/ocb.c void ieee80211_ocb_setup_sdata(struct ieee80211_sub_if_data *sdata)
sdata             164 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             172 net/mac80211/ocb.c int ieee80211_ocb_join(struct ieee80211_sub_if_data *sdata,
sdata             175 net/mac80211/ocb.c 	struct ieee80211_local *local = sdata->local;
sdata             176 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             183 net/mac80211/ocb.c 	sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
sdata             184 net/mac80211/ocb.c 	sdata->smps_mode = IEEE80211_SMPS_OFF;
sdata             185 net/mac80211/ocb.c 	sdata->needed_rx_chains = sdata->local->rx_chains;
sdata             187 net/mac80211/ocb.c 	mutex_lock(&sdata->local->mtx);
sdata             188 net/mac80211/ocb.c 	err = ieee80211_vif_use_channel(sdata, &setup->chandef,
sdata             190 net/mac80211/ocb.c 	mutex_unlock(&sdata->local->mtx);
sdata             194 net/mac80211/ocb.c 	ieee80211_bss_info_change_notify(sdata, changed);
sdata             199 net/mac80211/ocb.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata             201 net/mac80211/ocb.c 	netif_carrier_on(sdata->dev);
sdata             205 net/mac80211/ocb.c int ieee80211_ocb_leave(struct ieee80211_sub_if_data *sdata)
sdata             207 net/mac80211/ocb.c 	struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
sdata             208 net/mac80211/ocb.c 	struct ieee80211_local *local = sdata->local;
sdata             212 net/mac80211/ocb.c 	sta_info_flush(sdata);
sdata             226 net/mac80211/ocb.c 	netif_carrier_off(sdata->dev);
sdata             227 net/mac80211/ocb.c 	clear_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
sdata             228 net/mac80211/ocb.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_OCB);
sdata             230 net/mac80211/ocb.c 	mutex_lock(&sdata->local->mtx);
sdata             231 net/mac80211/ocb.c 	ieee80211_vif_release_channel(sdata);
sdata             232 net/mac80211/ocb.c 	mutex_unlock(&sdata->local->mtx);
sdata             234 net/mac80211/ocb.c 	skb_queue_purge(&sdata->skb_queue);
sdata             236 net/mac80211/ocb.c 	del_timer_sync(&sdata->u.ocb.housekeeping_timer);
sdata              25 net/mac80211/offchannel.c static void ieee80211_offchannel_ps_enable(struct ieee80211_sub_if_data *sdata)
sdata              27 net/mac80211/offchannel.c 	struct ieee80211_local *local = sdata->local;
sdata              28 net/mac80211/offchannel.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata              58 net/mac80211/offchannel.c 		ieee80211_send_nullfunc(local, sdata, true);
sdata              62 net/mac80211/offchannel.c static void ieee80211_offchannel_ps_disable(struct ieee80211_sub_if_data *sdata)
sdata              64 net/mac80211/offchannel.c 	struct ieee80211_local *local = sdata->local;
sdata              67 net/mac80211/offchannel.c 		ieee80211_send_nullfunc(local, sdata, false);
sdata              94 net/mac80211/offchannel.c 		ieee80211_send_nullfunc(local, sdata, false);
sdata              99 net/mac80211/offchannel.c 	ieee80211_sta_reset_beacon_monitor(sdata);
sdata             100 net/mac80211/offchannel.c 	ieee80211_sta_reset_conn_monitor(sdata);
sdata             105 net/mac80211/offchannel.c 	struct ieee80211_sub_if_data *sdata;
sdata             125 net/mac80211/offchannel.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata             126 net/mac80211/offchannel.c 		if (!ieee80211_sdata_running(sdata))
sdata             129 net/mac80211/offchannel.c 		if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE ||
sdata             130 net/mac80211/offchannel.c 		    sdata->vif.type == NL80211_IFTYPE_NAN)
sdata             133 net/mac80211/offchannel.c 		if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
sdata             134 net/mac80211/offchannel.c 			set_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
sdata             137 net/mac80211/offchannel.c 		if (sdata->vif.bss_conf.enable_beacon) {
sdata             139 net/mac80211/offchannel.c 				&sdata->state);
sdata             140 net/mac80211/offchannel.c 			sdata->vif.bss_conf.enable_beacon = false;
sdata             142 net/mac80211/offchannel.c 				sdata, BSS_CHANGED_BEACON_ENABLED);
sdata             145 net/mac80211/offchannel.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata             146 net/mac80211/offchannel.c 		    sdata->u.mgd.associated)
sdata             147 net/mac80211/offchannel.c 			ieee80211_offchannel_ps_enable(sdata);
sdata             154 net/mac80211/offchannel.c 	struct ieee80211_sub_if_data *sdata;
sdata             160 net/mac80211/offchannel.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata             161 net/mac80211/offchannel.c 		if (sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE)
sdata             164 net/mac80211/offchannel.c 		if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
sdata             165 net/mac80211/offchannel.c 			clear_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
sdata             167 net/mac80211/offchannel.c 		if (!ieee80211_sdata_running(sdata))
sdata             171 net/mac80211/offchannel.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata             172 net/mac80211/offchannel.c 		    sdata->u.mgd.associated)
sdata             173 net/mac80211/offchannel.c 			ieee80211_offchannel_ps_disable(sdata);
sdata             176 net/mac80211/offchannel.c 				       &sdata->state)) {
sdata             177 net/mac80211/offchannel.c 			sdata->vif.bss_conf.enable_beacon = true;
sdata             179 net/mac80211/offchannel.c 				sdata, BSS_CHANGED_BEACON_ENABLED);
sdata             193 net/mac80211/offchannel.c 		cfg80211_mgmt_tx_status(&roc->sdata->wdev, roc->mgmt_tx_cookie,
sdata             196 net/mac80211/offchannel.c 		ieee80211_free_txskb(&roc->sdata->local->hw, roc->frame);
sdata             200 net/mac80211/offchannel.c 		cfg80211_remain_on_channel_expired(&roc->sdata->wdev,
sdata             204 net/mac80211/offchannel.c 		cfg80211_tx_mgmt_expired(&roc->sdata->wdev,
sdata             266 net/mac80211/offchannel.c 			ieee80211_tx_skb_tid_band(roc->sdata, roc->frame, 7,
sdata             271 net/mac80211/offchannel.c 		cfg80211_ready_on_channel(&roc->sdata->wdev, roc->cookie,
sdata             334 net/mac80211/offchannel.c 		if (tmp->sdata != roc->sdata || tmp->chan != roc->chan)
sdata             342 net/mac80211/offchannel.c 		int ret = drv_remain_on_channel(local, roc->sdata, roc->chan,
sdata             353 net/mac80211/offchannel.c 				if (tmp->sdata != roc->sdata ||
sdata             365 net/mac80211/offchannel.c 			if (tmp->sdata != roc->sdata || tmp->chan != roc->chan)
sdata             394 net/mac80211/offchannel.c 			if (tmp->sdata != roc->sdata || tmp->chan != roc->chan)
sdata             548 net/mac80211/offchannel.c 				    struct ieee80211_sub_if_data *sdata,
sdata             584 net/mac80211/offchannel.c 	roc->sdata = sdata;
sdata             609 net/mac80211/offchannel.c 			ret = drv_remain_on_channel(local, sdata, channel,
sdata             625 net/mac80211/offchannel.c 		if (tmp->chan != channel || tmp->sdata != sdata)
sdata             690 net/mac80211/offchannel.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             691 net/mac80211/offchannel.c 	struct ieee80211_local *local = sdata->local;
sdata             695 net/mac80211/offchannel.c 	ret = ieee80211_start_roc_work(local, sdata, chan,
sdata             736 net/mac80211/offchannel.c 		ret = drv_cancel_remain_on_channel(local, roc->sdata);
sdata             774 net/mac80211/offchannel.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             775 net/mac80211/offchannel.c 	struct ieee80211_local *local = sdata->local;
sdata             783 net/mac80211/offchannel.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             784 net/mac80211/offchannel.c 	struct ieee80211_local *local = sdata->local;
sdata             802 net/mac80211/offchannel.c 	switch (sdata->vif.type) {
sdata             804 net/mac80211/offchannel.c 		if (!sdata->vif.bss_conf.ibss_joined)
sdata             809 net/mac80211/offchannel.c 		if (ieee80211_vif_is_mesh(&sdata->vif) &&
sdata             810 net/mac80211/offchannel.c 		    !sdata->u.mesh.mesh_id_len)
sdata             817 net/mac80211/offchannel.c 		if (sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata             818 net/mac80211/offchannel.c 		    !ieee80211_vif_is_mesh(&sdata->vif) &&
sdata             819 net/mac80211/offchannel.c 		    !rcu_access_pointer(sdata->bss->beacon))
sdata             827 net/mac80211/offchannel.c 		sta = sta_info_get_bss(sdata, mgmt->da);
sdata             834 net/mac80211/offchannel.c 		sdata_lock(sdata);
sdata             835 net/mac80211/offchannel.c 		if (!sdata->u.mgd.associated ||
sdata             838 net/mac80211/offchannel.c 		     memcmp(sdata->u.mgd.associated->bssid,
sdata             841 net/mac80211/offchannel.c 		sdata_unlock(sdata);
sdata             864 net/mac80211/offchannel.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata             895 net/mac80211/offchannel.c 	if (sdata->vif.csa_active &&
sdata             896 net/mac80211/offchannel.c 	    (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             897 net/mac80211/offchannel.c 	     sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
sdata             898 net/mac80211/offchannel.c 	     sdata->vif.type == NL80211_IFTYPE_ADHOC) &&
sdata             905 net/mac80211/offchannel.c 		if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata             906 net/mac80211/offchannel.c 			beacon = rcu_dereference(sdata->u.ap.beacon);
sdata             907 net/mac80211/offchannel.c 		else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata             908 net/mac80211/offchannel.c 			beacon = rcu_dereference(sdata->u.ibss.presp);
sdata             909 net/mac80211/offchannel.c 		else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata             910 net/mac80211/offchannel.c 			beacon = rcu_dereference(sdata->u.mesh.beacon);
sdata             922 net/mac80211/offchannel.c 	skb->dev = sdata->dev;
sdata             943 net/mac80211/offchannel.c 		ieee80211_tx_skb(sdata, skb);
sdata             955 net/mac80211/offchannel.c 	ret = ieee80211_start_roc_work(local, sdata, params->chan,
sdata             982 net/mac80211/offchannel.c 			 struct ieee80211_sub_if_data *sdata)
sdata             989 net/mac80211/offchannel.c 		if (sdata && roc->sdata != sdata)
sdata             995 net/mac80211/offchannel.c 				drv_cancel_remain_on_channel(local, sdata);
sdata              20 net/mac80211/pm.c 	struct ieee80211_sub_if_data *sdata;
sdata              86 net/mac80211/pm.c 		list_for_each_entry(sdata, &local->interfaces, list) {
sdata              87 net/mac80211/pm.c 			if (!ieee80211_sdata_running(sdata))
sdata              89 net/mac80211/pm.c 			if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata              91 net/mac80211/pm.c 			ieee80211_mgd_quiesce(sdata);
sdata             101 net/mac80211/pm.c 			if (sdata->u.mgd.associated &&
sdata             102 net/mac80211/pm.c 			    sdata->u.mgd.powersave &&
sdata             143 net/mac80211/pm.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata             144 net/mac80211/pm.c 		if (!ieee80211_sdata_running(sdata))
sdata             146 net/mac80211/pm.c 		switch (sdata->vif.type) {
sdata             151 net/mac80211/pm.c 			ieee80211_mgd_quiesce(sdata);
sdata             156 net/mac80211/pm.c 			sta = sdata->u.wds.sta;
sdata             162 net/mac80211/pm.c 					WARN_ON(drv_sta_state(local, sta->sdata,
sdata             172 net/mac80211/pm.c 		flush_delayed_work(&sdata->dec_tailroom_needed_wk);
sdata             173 net/mac80211/pm.c 		drv_remove_interface(local, sdata);
sdata             204 net/mac80211/pm.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata             206 net/mac80211/pm.c 	cfg80211_report_wowlan_wakeup(&sdata->wdev, wakeup, gfp);
sdata              32 net/mac80211/rate.c 	struct ieee80211_local *local = sta->sdata->local;
sdata              46 net/mac80211/rate.c 	chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf);
sdata              96 net/mac80211/rate.c 		chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf);
sdata             108 net/mac80211/rate.c 	drv_sta_rc_update(local, sta->sdata, &sta->sta, changed);
sdata             259 net/mac80211/rate.c void ieee80211_check_rate_mask(struct ieee80211_sub_if_data *sdata)
sdata             261 net/mac80211/rate.c 	struct ieee80211_local *local = sdata->local;
sdata             263 net/mac80211/rate.c 	u32 user_mask, basic_rates = sdata->vif.bss_conf.basic_rates;
sdata             266 net/mac80211/rate.c 	if (WARN_ON(!sdata->vif.bss_conf.chandef.chan))
sdata             272 net/mac80211/rate.c 	band = sdata->vif.bss_conf.chandef.chan->band;
sdata             273 net/mac80211/rate.c 	user_mask = sdata->rc_rateidx_mask[band];
sdata             279 net/mac80211/rate.c 	sdata_dbg(sdata,
sdata             282 net/mac80211/rate.c 	sdata->rc_rateidx_mask[band] = (1 << sband->n_bitrates) - 1;
sdata             386 net/mac80211/rate.c 			if (ieee80211_vif_is_mesh(&sta->sdata->vif))
sdata             725 net/mac80211/rate.c static bool rate_control_cap_mask(struct ieee80211_sub_if_data *sdata,
sdata             733 net/mac80211/rate.c 	*mask = sdata->rc_rateidx_mask[sband->band];
sdata             734 net/mac80211/rate.c 	flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef);
sdata             741 net/mac80211/rate.c 	    !sdata->rc_has_mcs_mask[sband->band] &&
sdata             742 net/mac80211/rate.c 	    !sdata->rc_has_vht_mcs_mask[sband->band])
sdata             745 net/mac80211/rate.c 	if (sdata->rc_has_mcs_mask[sband->band])
sdata             746 net/mac80211/rate.c 		memcpy(mcs_mask, sdata->rc_rateidx_mcs_mask[sband->band],
sdata             751 net/mac80211/rate.c 	if (sdata->rc_has_vht_mcs_mask[sband->band])
sdata             752 net/mac80211/rate.c 		memcpy(vht_mask, sdata->rc_rateidx_vht_mcs_mask[sband->band],
sdata             786 net/mac80211/rate.c 	if (!rate_control_cap_mask(sta->sdata, sband, &sta->sta, &mask,
sdata             790 net/mac80211/rate.c 	chan_width = sta->sdata->vif.bss_conf.chandef.width;
sdata             801 net/mac80211/rate.c static void rate_control_apply_mask(struct ieee80211_sub_if_data *sdata,
sdata             818 net/mac80211/rate.c 	if (!rate_control_cap_mask(sdata, sband, sta, &mask, mcs_mask,
sdata             827 net/mac80211/rate.c 	chan_width = sdata->vif.bss_conf.chandef.width;
sdata             846 net/mac80211/rate.c 	struct ieee80211_sub_if_data *sdata;
sdata             856 net/mac80211/rate.c 	sdata = vif_to_sdata(vif);
sdata             857 net/mac80211/rate.c 	sband = sdata->local->hw.wiphy->bands[info->band];
sdata             860 net/mac80211/rate.c 		rate_control_apply_mask(sdata, sta, sband, dest, max_rates);
sdata             863 net/mac80211/rate.c 		__rate_control_send_low(&sdata->local->hw, sband, sta, info,
sdata             864 net/mac80211/rate.c 					sdata->rc_rateidx_mask[info->band]);
sdata             871 net/mac80211/rate.c void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
sdata             875 net/mac80211/rate.c 	struct rate_control_ref *ref = sdata->local->rate_ctrl;
sdata             890 net/mac80211/rate.c 	if (ieee80211_hw_check(&sdata->local->hw, HAS_RATE_CONTROL))
sdata             906 net/mac80211/rate.c 	if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_RC_TABLE))
sdata             909 net/mac80211/rate.c 	ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb,
sdata             922 net/mac80211/rate.c 	sband = ieee80211_get_sband(sta->sdata);
sdata             937 net/mac80211/rate.c 	drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta);
sdata              24 net/mac80211/rate.h void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
sdata              86 net/mac80211/rate.h void ieee80211_check_rate_mask(struct ieee80211_sub_if_data *sdata);
sdata             240 net/mac80211/rx.c static void ieee80211_handle_mu_mimo_mon(struct ieee80211_sub_if_data *sdata,
sdata             250 net/mac80211/rx.c 	if (!sdata)
sdata             259 net/mac80211/rx.c 	if (!is_valid_ether_addr(sdata->u.mntr.mu_follow_addr))
sdata             273 net/mac80211/rx.c 	if (!ether_addr_equal(action.hdr.addr1, sdata->u.mntr.mu_follow_addr))
sdata             280 net/mac80211/rx.c 	skb_queue_tail(&sdata->skb_queue, skb);
sdata             281 net/mac80211/rx.c 	ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             764 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata;
sdata             835 net/mac80211/rx.c 	list_for_each_entry_rcu(sdata, &local->mon_list, u.mntr.list) {
sdata             836 net/mac80211/rx.c 		bool last_monitor = list_is_last(&sdata->u.mntr.list,
sdata             856 net/mac80211/rx.c 				skb->dev = sdata->dev;
sdata            1049 net/mac80211/rx.c 	char *dev_addr = rx->sdata->vif.addr;
sdata            1123 net/mac80211/rx.c static void ieee80211_release_reorder_frame(struct ieee80211_sub_if_data *sdata,
sdata            1155 net/mac80211/rx.c static void ieee80211_release_reorder_frames(struct ieee80211_sub_if_data *sdata,
sdata            1166 net/mac80211/rx.c 		ieee80211_release_reorder_frame(sdata, tid_agg_rx, index,
sdata            1182 net/mac80211/rx.c static void ieee80211_sta_reorder_release(struct ieee80211_sub_if_data *sdata,
sdata            1215 net/mac80211/rx.c 			ht_dbg_ratelimited(sdata,
sdata            1217 net/mac80211/rx.c 			ieee80211_release_reorder_frame(sdata, tid_agg_rx, j,
sdata            1229 net/mac80211/rx.c 		ieee80211_release_reorder_frame(sdata, tid_agg_rx, index,
sdata            1259 net/mac80211/rx.c static bool ieee80211_sta_manage_reorder_buf(struct ieee80211_sub_if_data *sdata,
sdata            1313 net/mac80211/rx.c 		ieee80211_release_reorder_frames(sdata, tid_agg_rx,
sdata            1347 net/mac80211/rx.c 		ieee80211_sta_reorder_release(sdata, tid_agg_rx, frames);
sdata            1391 net/mac80211/rx.c 			ieee80211_send_delba(rx->sdata, rx->sta->sta.addr, tid,
sdata            1415 net/mac80211/rx.c 		skb_queue_tail(&rx->sdata->skb_queue, skb);
sdata            1416 net/mac80211/rx.c 		ieee80211_queue_work(&local->hw, &rx->sdata->work);
sdata            1427 net/mac80211/rx.c 	if (ieee80211_sta_manage_reorder_buf(rx->sdata, tid_agg_rx, skb,
sdata            1486 net/mac80211/rx.c 	if (ieee80211_vif_is_mesh(&rx->sdata->vif))
sdata            1491 net/mac80211/rx.c 		     rx->sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata            1492 net/mac80211/rx.c 		     rx->sdata->vif.type != NL80211_IFTYPE_WDS &&
sdata            1493 net/mac80211/rx.c 		     rx->sdata->vif.type != NL80211_IFTYPE_OCB &&
sdata            1500 net/mac80211/rx.c 		if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            1511 net/mac80211/rx.c 			if (ethertype == rx->sdata->control_port_protocol)
sdata            1515 net/mac80211/rx.c 		if (rx->sdata->vif.type == NL80211_IFTYPE_AP &&
sdata            1516 net/mac80211/rx.c 		    cfg80211_rx_spurious_frame(rx->sdata->dev,
sdata            1556 net/mac80211/rx.c 	ieee80211_send_pspoll(local, rx->sdata);
sdata            1563 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1564 net/mac80211/rx.c 	struct ieee80211_local *local = sdata->local;
sdata            1568 net/mac80211/rx.c 	if (sta->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            1569 net/mac80211/rx.c 	    sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            1570 net/mac80211/rx.c 		ps = &sdata->bss->ps;
sdata            1577 net/mac80211/rx.c 		drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta);
sdata            1578 net/mac80211/rx.c 	ps_dbg(sdata, "STA %pM aid %d enters power save mode\n",
sdata            1604 net/mac80211/rx.c 	ps_dbg(sta->sdata, "STA %pM aid %d exits power save mode\n",
sdata            1615 net/mac80211/rx.c 		ps_dbg(sta->sdata, "STA %pM aid %d driver-ps-blocked\n",
sdata            1691 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            1698 net/mac80211/rx.c 	if (sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            1699 net/mac80211/rx.c 	    sdata->vif.type != NL80211_IFTYPE_AP_VLAN)
sdata            1707 net/mac80211/rx.c 	if (ieee80211_hw_check(&sdata->local->hw, AP_LINK_PS))
sdata            1759 net/mac80211/rx.c 	if (rx->sdata->vif.type == NL80211_IFTYPE_ADHOC) {
sdata            1762 net/mac80211/rx.c 		if (ether_addr_equal(bssid, rx->sdata->u.ibss.bssid) &&
sdata            1770 net/mac80211/rx.c 	} else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) {
sdata            1782 net/mac80211/rx.c 	if (rx->sdata->vif.type == NL80211_IFTYPE_STATION)
sdata            1783 net/mac80211/rx.c 		ieee80211_sta_rx_notify(rx->sdata, hdr);
sdata            1821 net/mac80211/rx.c 	    (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            1822 net/mac80211/rx.c 	     rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN)) {
sdata            1833 net/mac80211/rx.c 	if (ieee80211_vif_is_mesh(&rx->sdata->vif))
sdata            1850 net/mac80211/rx.c 		    (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            1851 net/mac80211/rx.c 		     (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
sdata            1852 net/mac80211/rx.c 		      !rx->sdata->u.vlan.sta))) {
sdata            1855 net/mac80211/rx.c 					rx->sdata->dev, sta->sta.addr,
sdata            1959 net/mac80211/rx.c 			rx->key = rcu_dereference(rx->sdata->keys[mmie_keyidx]);
sdata            1968 net/mac80211/rx.c 		struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            1973 net/mac80211/rx.c 		    (key = rcu_dereference(rx->sdata->default_mgmt_key)))
sdata            1985 net/mac80211/rx.c 					key = rcu_dereference(sdata->keys[i]);
sdata            2019 net/mac80211/rx.c 			rx->key = rcu_dereference(rx->sdata->keys[keyidx]);
sdata            2086 net/mac80211/rx.c ieee80211_reassemble_add(struct ieee80211_sub_if_data *sdata,
sdata            2092 net/mac80211/rx.c 	entry = &sdata->fragments[sdata->fragment_next++];
sdata            2093 net/mac80211/rx.c 	if (sdata->fragment_next >= IEEE80211_FRAGMENT_MAX)
sdata            2094 net/mac80211/rx.c 		sdata->fragment_next = 0;
sdata            2112 net/mac80211/rx.c ieee80211_reassemble_find(struct ieee80211_sub_if_data *sdata,
sdata            2119 net/mac80211/rx.c 	idx = sdata->fragment_next;
sdata            2128 net/mac80211/rx.c 		entry = &sdata->fragments[idx];
sdata            2198 net/mac80211/rx.c 		entry = ieee80211_reassemble_add(rx->sdata, frag, seq,
sdata            2230 net/mac80211/rx.c 	entry = ieee80211_reassemble_find(rx->sdata, frag, seq,
sdata            2346 net/mac80211/rx.c 				cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev,
sdata            2356 net/mac80211/rx.c 				cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev,
sdata            2376 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            2384 net/mac80211/rx.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta)
sdata            2387 net/mac80211/rx.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            2388 net/mac80211/rx.c 	    !!sdata->u.mgd.use_4addr != !!ieee80211_has_a4(hdr->frame_control)) {
sdata            2390 net/mac80211/rx.c 		if (!sdata->u.mgd.use_4addr)
sdata            2392 net/mac80211/rx.c 		else if (!ether_addr_equal(hdr->addr1, sdata->vif.addr))
sdata            2397 net/mac80211/rx.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta)
sdata            2400 net/mac80211/rx.c 	ret = ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type);
sdata            2405 net/mac80211/rx.c 	if (ehdr->h_proto == rx->sdata->control_port_protocol)
sdata            2426 net/mac80211/rx.c 	if (ehdr->h_proto == rx->sdata->control_port_protocol &&
sdata            2427 net/mac80211/rx.c 	    (ether_addr_equal(ehdr->h_dest, rx->sdata->vif.addr) ||
sdata            2441 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            2442 net/mac80211/rx.c 	struct net_device *dev = sdata->dev;
sdata            2444 net/mac80211/rx.c 	if (unlikely((skb->protocol == sdata->control_port_protocol ||
sdata            2446 net/mac80211/rx.c 		     sdata->control_port_over_nl80211)) {
sdata            2469 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            2470 net/mac80211/rx.c 	struct net_device *dev = sdata->dev;
sdata            2491 net/mac80211/rx.c 	if ((sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            2492 net/mac80211/rx.c 	     sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
sdata            2493 net/mac80211/rx.c 	    !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
sdata            2494 net/mac80211/rx.c 	    (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) {
sdata            2496 net/mac80211/rx.c 		    ieee80211_vif_get_num_mcast_if(sdata) != 0) {
sdata            2507 net/mac80211/rx.c 			dsta = sta_info_get(sdata, ehdr->h_dest);
sdata            2569 net/mac80211/rx.c 	struct net_device *dev = rx->sdata->dev;
sdata            2580 net/mac80211/rx.c 	} else switch (rx->sdata->vif.type) {
sdata            2601 net/mac80211/rx.c 					  rx->sdata->vif.addr,
sdata            2602 net/mac80211/rx.c 					  rx->sdata->vif.type,
sdata            2607 net/mac80211/rx.c 				 rx->sdata->vif.type,
sdata            2643 net/mac80211/rx.c 		switch (rx->sdata->vif.type) {
sdata            2645 net/mac80211/rx.c 			if (!rx->sdata->u.vlan.sta)
sdata            2649 net/mac80211/rx.c 			if (!rx->sdata->u.mgd.use_4addr)
sdata            2672 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            2673 net/mac80211/rx.c 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            2701 net/mac80211/rx.c 	    mesh_rmc_check(rx->sdata, hdr->addr3, mesh_hdr))
sdata            2728 net/mac80211/rx.c 		mppath = mpp_path_lookup(sdata, proxied_addr);
sdata            2730 net/mac80211/rx.c 			mpp_path_add(sdata, proxied_addr, mpp_addr);
sdata            2743 net/mac80211/rx.c 	    ether_addr_equal(sdata->vif.addr, hdr->addr3))
sdata            2746 net/mac80211/rx.c 	ac = ieee80211_select_queue_80211(sdata, skb, hdr);
sdata            2747 net/mac80211/rx.c 	q = sdata->vif.hw_queue[ac];
sdata            2764 net/mac80211/rx.c 	if (sdata->crypto_tx_tailroom_needed_cnt)
sdata            2768 net/mac80211/rx.c 				       sdata->encrypt_headroom,
sdata            2778 net/mac80211/rx.c 	info->control.vif = &rx->sdata->vif;
sdata            2782 net/mac80211/rx.c 		memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata            2784 net/mac80211/rx.c 		ieee80211_mps_set_frame_flags(sdata, NULL, fwd_hdr);
sdata            2785 net/mac80211/rx.c 	} else if (!mesh_nexthop_lookup(sdata, fwd_skb)) {
sdata            2790 net/mac80211/rx.c 		mesh_path_error_tx(sdata, ifmsh->mshcfg.element_ttl,
sdata            2811 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            2813 net/mac80211/rx.c 	struct net_device *dev = sdata->dev;
sdata            2830 net/mac80211/rx.c 	    sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            2834 net/mac80211/rx.c 				rx->sdata->dev, rx->sta->sta.addr, GFP_ATOMIC);
sdata            2865 net/mac80211/rx.c 	if (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
sdata            2866 net/mac80211/rx.c 	    unlikely(port_control) && sdata->bss) {
sdata            2867 net/mac80211/rx.c 		sdata = container_of(sdata->bss, struct ieee80211_sub_if_data,
sdata            2869 net/mac80211/rx.c 		dev = sdata->dev;
sdata            2870 net/mac80211/rx.c 		rx->sdata = sdata;
sdata            2880 net/mac80211/rx.c 	     !test_bit(SDATA_STATE_OFFCHANNEL, &sdata->state)))
sdata            2920 net/mac80211/rx.c 			ieee80211_send_delba(rx->sdata, rx->sta->sta.addr, tid,
sdata            2940 net/mac80211/rx.c 		ieee80211_release_reorder_frames(rx->sdata, tid_agg_rx,
sdata            2944 net/mac80211/rx.c 		drv_event_callback(rx->local, rx->sdata, &event);
sdata            2958 net/mac80211/rx.c static void ieee80211_process_sa_query_req(struct ieee80211_sub_if_data *sdata,
sdata            2962 net/mac80211/rx.c 	struct ieee80211_local *local = sdata->local;
sdata            2966 net/mac80211/rx.c 	if (!ether_addr_equal(mgmt->da, sdata->vif.addr)) {
sdata            2971 net/mac80211/rx.c 	if (!ether_addr_equal(mgmt->sa, sdata->u.mgd.bssid) ||
sdata            2972 net/mac80211/rx.c 	    !ether_addr_equal(mgmt->bssid, sdata->u.mgd.bssid)) {
sdata            2989 net/mac80211/rx.c 	memcpy(resp->sa, sdata->vif.addr, ETH_ALEN);
sdata            2990 net/mac80211/rx.c 	memcpy(resp->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata            3000 net/mac80211/rx.c 	ieee80211_tx_skb(sdata, skb);
sdata            3020 net/mac80211/rx.c 	if (rx->sdata->vif.type == NL80211_IFTYPE_AP &&
sdata            3045 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            3068 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata            3069 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
sdata            3070 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            3071 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            3072 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            3112 net/mac80211/rx.c 			cfg80211_sta_opmode_change_notify(sdata->dev,
sdata            3149 net/mac80211/rx.c 			cfg80211_sta_opmode_change_notify(sdata->dev,
sdata            3163 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3167 net/mac80211/rx.c 		if (!ether_addr_equal(mgmt->bssid, sdata->u.mgd.bssid))
sdata            3177 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata            3178 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
sdata            3179 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            3180 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            3181 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            3205 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata            3206 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
sdata            3207 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            3208 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            3209 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            3251 net/mac80211/rx.c 			if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3254 net/mac80211/rx.c 			ieee80211_process_measurement_req(sdata, mgmt, len);
sdata            3262 net/mac80211/rx.c 			if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata            3263 net/mac80211/rx.c 			    sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata            3264 net/mac80211/rx.c 			    sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
sdata            3267 net/mac80211/rx.c 			if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata            3268 net/mac80211/rx.c 				bssid = sdata->u.mgd.bssid;
sdata            3269 net/mac80211/rx.c 			else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata            3270 net/mac80211/rx.c 				bssid = sdata->u.ibss.bssid;
sdata            3271 net/mac80211/rx.c 			else if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
sdata            3290 net/mac80211/rx.c 			if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3292 net/mac80211/rx.c 			ieee80211_process_sa_query_req(sdata, mgmt, len);
sdata            3305 net/mac80211/rx.c 			if (!ieee80211_vif_is_mesh(&sdata->vif))
sdata            3307 net/mac80211/rx.c 			if (sdata->u.mesh.user_mpm)
sdata            3313 net/mac80211/rx.c 			if (!ieee80211_vif_is_mesh(&sdata->vif))
sdata            3323 net/mac80211/rx.c 		if (!ieee80211_vif_is_mesh(&sdata->vif))
sdata            3326 net/mac80211/rx.c 		    !mesh_path_sel_is_hwmp(sdata))
sdata            3345 net/mac80211/rx.c 	skb_queue_tail(&sdata->skb_queue, rx->skb);
sdata            3346 net/mac80211/rx.c 	ieee80211_queue_work(&local->hw, &sdata->work);
sdata            3373 net/mac80211/rx.c 	if (cfg80211_rx_mgmt(&rx->sdata->wdev, status->freq, sig,
sdata            3390 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            3407 net/mac80211/rx.c 	    (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            3408 net/mac80211/rx.c 	     sdata->vif.type == NL80211_IFTYPE_AP_VLAN))
sdata            3425 net/mac80211/rx.c 		memcpy(nmgmt->sa, rx->sdata->vif.addr, ETH_ALEN);
sdata            3429 net/mac80211/rx.c 		if (rx->sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE) {
sdata            3440 net/mac80211/rx.c 		__ieee80211_tx_skb_tid_band(rx->sdata, nskb, 7,
sdata            3450 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            3456 net/mac80211/rx.c 	if (!ieee80211_vif_is_mesh(&sdata->vif) &&
sdata            3457 net/mac80211/rx.c 	    sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata            3458 net/mac80211/rx.c 	    sdata->vif.type != NL80211_IFTYPE_OCB &&
sdata            3459 net/mac80211/rx.c 	    sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3474 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION &&
sdata            3475 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_ADHOC)
sdata            3486 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            3491 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata            3492 net/mac80211/rx.c 		    sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
sdata            3500 net/mac80211/rx.c 	skb_queue_tail(&sdata->skb_queue, rx->skb);
sdata            3501 net/mac80211/rx.c 	ieee80211_queue_work(&rx->local->hw, &sdata->work);
sdata            3511 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata;
sdata            3548 net/mac80211/rx.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata            3549 net/mac80211/rx.c 		if (!ieee80211_sdata_running(sdata))
sdata            3552 net/mac80211/rx.c 		if (sdata->vif.type != NL80211_IFTYPE_MONITOR ||
sdata            3553 net/mac80211/rx.c 		    !(sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES))
sdata            3564 net/mac80211/rx.c 		prev_dev = sdata->dev;
sdata            3565 net/mac80211/rx.c 		ieee80211_rx_stats(sdata->dev, skb->len);
sdata            3583 net/mac80211/rx.c 		I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop);
sdata            3602 net/mac80211/rx.c 		I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop);
sdata            3608 net/mac80211/rx.c 		I802_DEBUG_INC(rx->sdata->local->rx_handlers_queued);
sdata            3650 net/mac80211/rx.c 		if (ieee80211_vif_is_mesh(&rx->sdata->vif))
sdata            3713 net/mac80211/rx.c 		.sdata = sta->sdata,
sdata            3729 net/mac80211/rx.c 	ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames);
sdata            3738 net/mac80211/rx.c 		drv_event_callback(rx.local, rx.sdata, &event);
sdata            3766 net/mac80211/rx.c 	rx.sdata = sta->sdata;
sdata            3782 net/mac80211/rx.c 		ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx,
sdata            3787 net/mac80211/rx.c 		ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx, ssn,
sdata            3811 net/mac80211/rx.c 	ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames);
sdata            3827 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            3831 net/mac80211/rx.c 	u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type);
sdata            3834 net/mac80211/rx.c 	switch (sdata->vif.type) {
sdata            3836 net/mac80211/rx.c 		if (!bssid && !sdata->u.mgd.use_4addr)
sdata            3842 net/mac80211/rx.c 		return ether_addr_equal(sdata->vif.addr, hdr->addr1);
sdata            3846 net/mac80211/rx.c 		if (ether_addr_equal(sdata->vif.addr, hdr->addr2) ||
sdata            3847 net/mac80211/rx.c 		    ether_addr_equal(sdata->u.ibss.bssid, hdr->addr2))
sdata            3851 net/mac80211/rx.c 		if (!ieee80211_bssid_match(bssid, sdata->u.ibss.bssid))
sdata            3854 net/mac80211/rx.c 		    !ether_addr_equal(sdata->vif.addr, hdr->addr1))
sdata            3862 net/mac80211/rx.c 			ieee80211_ibss_rx_no_sta(sdata, bssid, hdr->addr2,
sdata            3874 net/mac80211/rx.c 		    !ether_addr_equal(sdata->dev->dev_addr, hdr->addr1))
sdata            3882 net/mac80211/rx.c 			ieee80211_ocb_rx_no_sta(sdata, bssid, hdr->addr2,
sdata            3887 net/mac80211/rx.c 		if (ether_addr_equal(sdata->vif.addr, hdr->addr2))
sdata            3891 net/mac80211/rx.c 		return ether_addr_equal(sdata->vif.addr, hdr->addr1);
sdata            3895 net/mac80211/rx.c 			return ether_addr_equal(sdata->vif.addr, hdr->addr1);
sdata            3897 net/mac80211/rx.c 		if (!ieee80211_bssid_match(bssid, sdata->vif.addr)) {
sdata            3905 net/mac80211/rx.c 			    !ether_addr_equal(sdata->vif.addr, hdr->addr1))
sdata            3947 net/mac80211/rx.c 		return ether_addr_equal(sdata->u.wds.remote_addr, hdr->addr2);
sdata            3966 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            3967 net/mac80211/rx.c 	struct ieee80211_local *local = sdata->local;
sdata            3970 net/mac80211/rx.c 		.dev = sdata->dev,
sdata            3971 net/mac80211/rx.c 		.vif_type = sdata->vif.type,
sdata            3972 net/mac80211/rx.c 		.control_port_protocol = sdata->control_port_protocol,
sdata            3982 net/mac80211/rx.c 	ether_addr_copy(fastrx.vif_addr, sdata->vif.addr);
sdata            3991 net/mac80211/rx.c 	switch (sdata->vif.type) {
sdata            3998 net/mac80211/rx.c 			fastrx.sta_notify = sdata->u.mgd.probe_send_count > 0;
sdata            4005 net/mac80211/rx.c 		if (sdata->u.mgd.use_4addr && !sta->sta.tdls) {
sdata            4012 net/mac80211/rx.c 		if (!sdata->u.mgd.powersave)
sdata            4034 net/mac80211/rx.c 			!(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
sdata            4035 net/mac80211/rx.c 			(sdata->vif.type != NL80211_IFTYPE_AP_VLAN ||
sdata            4036 net/mac80211/rx.c 			 !sdata->u.vlan.sta);
sdata            4038 net/mac80211/rx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
sdata            4039 net/mac80211/rx.c 		    sdata->u.vlan.sta) {
sdata            4108 net/mac80211/rx.c void __ieee80211_check_fast_rx_iface(struct ieee80211_sub_if_data *sdata)
sdata            4110 net/mac80211/rx.c 	struct ieee80211_local *local = sdata->local;
sdata            4116 net/mac80211/rx.c 		if (sdata != sta->sdata &&
sdata            4117 net/mac80211/rx.c 		    (!sta->sdata->bss || sta->sdata->bss != sdata->bss))
sdata            4123 net/mac80211/rx.c void ieee80211_check_fast_rx_iface(struct ieee80211_sub_if_data *sdata)
sdata            4125 net/mac80211/rx.c 	struct ieee80211_local *local = sdata->local;
sdata            4128 net/mac80211/rx.c 	__ieee80211_check_fast_rx_iface(sdata);
sdata            4229 net/mac80211/rx.c 		ieee80211_sta_rx_notify(rx->sdata, hdr);
sdata            4303 net/mac80211/rx.c 			   sta_info_get(rx->sdata, addrs.da)) {
sdata            4350 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata = rx->sdata;
sdata            4378 net/mac80211/rx.c 					sdata->name);
sdata            4399 net/mac80211/rx.c 	struct ieee80211_sub_if_data *sdata;
sdata            4444 net/mac80211/rx.c 			rx.sdata = rx.sta->sdata;
sdata            4459 net/mac80211/rx.c 			rx.sdata = prev_sta->sdata;
sdata            4467 net/mac80211/rx.c 			rx.sdata = prev_sta->sdata;
sdata            4477 net/mac80211/rx.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata            4478 net/mac80211/rx.c 		if (!ieee80211_sdata_running(sdata))
sdata            4481 net/mac80211/rx.c 		if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
sdata            4482 net/mac80211/rx.c 		    sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            4492 net/mac80211/rx.c 			prev = sdata;
sdata            4497 net/mac80211/rx.c 		rx.sdata = prev;
sdata            4500 net/mac80211/rx.c 		prev = sdata;
sdata            4505 net/mac80211/rx.c 		rx.sdata = prev;
sdata             222 net/mac80211/scan.c static bool ieee80211_scan_accept_presp(struct ieee80211_sub_if_data *sdata,
sdata             225 net/mac80211/scan.c 	if (!sdata)
sdata             233 net/mac80211/scan.c 	return ether_addr_equal(da, sdata->vif.addr);
sdata             382 net/mac80211/scan.c 	struct ieee80211_sub_if_data *sdata;
sdata             455 net/mac80211/scan.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             456 net/mac80211/scan.c 		if (ieee80211_sdata_running(sdata))
sdata             457 net/mac80211/scan.c 			ieee80211_queue_work(&sdata->local->hw, &sdata->work);
sdata             482 net/mac80211/scan.c 				   struct ieee80211_sub_if_data *sdata)
sdata             501 net/mac80211/scan.c 	drv_sw_scan_start(local, sdata, local->scan_addr);
sdata             523 net/mac80211/scan.c static bool __ieee80211_can_leave_ch(struct ieee80211_sub_if_data *sdata)
sdata             525 net/mac80211/scan.c 	struct ieee80211_local *local = sdata->local;
sdata             547 net/mac80211/scan.c 			       struct ieee80211_sub_if_data *sdata)
sdata             549 net/mac80211/scan.c 	if (!__ieee80211_can_leave_ch(sdata))
sdata             555 net/mac80211/scan.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata             556 net/mac80211/scan.c 	    sdata->u.mgd.flags & IEEE80211_STA_CONNECTION_POLL)
sdata             579 net/mac80211/scan.c static void ieee80211_send_scan_probe_req(struct ieee80211_sub_if_data *sdata,
sdata             589 net/mac80211/scan.c 	skb = ieee80211_build_probe_req(sdata, src, dst, ratemask, channel,
sdata             603 net/mac80211/scan.c 		ieee80211_tx_skb_tid_band(sdata, skb, 7, channel->band,
sdata             612 net/mac80211/scan.c 	struct ieee80211_sub_if_data *sdata;
sdata             628 net/mac80211/scan.c 	sdata = rcu_dereference_protected(local->scan_sdata,
sdata             633 net/mac80211/scan.c 			sdata, local->scan_addr, scan_req->bssid,
sdata             647 net/mac80211/scan.c static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
sdata             650 net/mac80211/scan.c 	struct ieee80211_local *local = sdata->local;
sdata             659 net/mac80211/scan.c 	if (!__ieee80211_can_leave_ch(sdata))
sdata             662 net/mac80211/scan.c 	if (!ieee80211_can_scan(local, sdata)) {
sdata             665 net/mac80211/scan.c 		rcu_assign_pointer(local->scan_sdata, sdata);
sdata             720 net/mac80211/scan.c 	rcu_assign_pointer(local->scan_sdata, sdata);
sdata             727 net/mac80211/scan.c 		memcpy(local->scan_addr, sdata->vif.addr, ETH_ALEN);
sdata             745 net/mac80211/scan.c 		drv_sw_scan_start(local, sdata, local->scan_addr);
sdata             774 net/mac80211/scan.c 		rc = drv_hw_scan(local, sdata, local->hw_scan_req);
sdata             776 net/mac80211/scan.c 		rc = ieee80211_start_sw_scan(local, sdata);
sdata             795 net/mac80211/scan.c 		if (ieee80211_vif_type_p2p(&sdata->vif) ==
sdata             823 net/mac80211/scan.c 	struct ieee80211_sub_if_data *sdata;
sdata             834 net/mac80211/scan.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata             835 net/mac80211/scan.c 		if (!ieee80211_sdata_running(sdata))
sdata             838 net/mac80211/scan.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata             839 net/mac80211/scan.c 			if (sdata->u.mgd.associated) {
sdata             842 net/mac80211/scan.c 				if (!qdisc_all_tx_empty(sdata->dev)) {
sdata             993 net/mac80211/scan.c 	struct ieee80211_sub_if_data *sdata;
sdata            1005 net/mac80211/scan.c 	sdata = rcu_dereference_protected(local->scan_sdata,
sdata            1021 net/mac80211/scan.c 	if (!sdata || !scan_req)
sdata            1030 net/mac80211/scan.c 		rc = __ieee80211_start_scan(sdata, scan_req);
sdata            1045 net/mac80211/scan.c 		if (!ieee80211_sdata_running(sdata)) {
sdata            1086 net/mac80211/scan.c int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata,
sdata            1091 net/mac80211/scan.c 	mutex_lock(&sdata->local->mtx);
sdata            1092 net/mac80211/scan.c 	res = __ieee80211_start_scan(sdata, req);
sdata            1093 net/mac80211/scan.c 	mutex_unlock(&sdata->local->mtx);
sdata            1098 net/mac80211/scan.c int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata,
sdata            1104 net/mac80211/scan.c 	struct ieee80211_local *local = sdata->local;
sdata            1162 net/mac80211/scan.c 	ret = __ieee80211_start_scan(sdata, sdata->local->int_scan_req);
sdata            1232 net/mac80211/scan.c int __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
sdata            1235 net/mac80211/scan.c 	struct ieee80211_local *local = sdata->local;
sdata            1275 net/mac80211/scan.c 	ret = drv_sched_scan_start(local, sdata, req, &sched_scan_ies);
sdata            1277 net/mac80211/scan.c 		rcu_assign_pointer(local->sched_scan_sdata, sdata);
sdata            1293 net/mac80211/scan.c int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
sdata            1296 net/mac80211/scan.c 	struct ieee80211_local *local = sdata->local;
sdata            1306 net/mac80211/scan.c 	ret = __ieee80211_request_sched_scan_start(sdata, req);
sdata              22 net/mac80211/spectmgmt.c int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
sdata              55 net/mac80211/spectmgmt.c 			sdata_info(sdata,
sdata              85 net/mac80211/spectmgmt.c 	new_chan = ieee80211_get_channel(sdata->local->hw.wiphy, new_freq);
sdata              87 net/mac80211/spectmgmt.c 		sdata_info(sdata,
sdata             122 net/mac80211/spectmgmt.c 		switch (sdata->vif.bss_conf.chandef.width) {
sdata             126 net/mac80211/spectmgmt.c 				sdata->vif.bss_conf.chandef.width;
sdata             152 net/mac80211/spectmgmt.c 		if (!ieee80211_chandef_vht_oper(&sdata->local->hw,
sdata             169 net/mac80211/spectmgmt.c 			sdata_info(sdata,
sdata             186 net/mac80211/spectmgmt.c static void ieee80211_send_refuse_measurement_request(struct ieee80211_sub_if_data *sdata,
sdata             191 net/mac80211/spectmgmt.c 	struct ieee80211_local *local = sdata->local;
sdata             203 net/mac80211/spectmgmt.c 	memcpy(msr_report->sa, sdata->vif.addr, ETH_ALEN);
sdata             225 net/mac80211/spectmgmt.c 	ieee80211_tx_skb(sdata, skb);
sdata             228 net/mac80211/spectmgmt.c void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,
sdata             239 net/mac80211/spectmgmt.c 	ieee80211_send_refuse_measurement_request(sdata,
sdata              88 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata              89 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata              95 net/mac80211/sta_info.c 		if (sta->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata              96 net/mac80211/sta_info.c 		    sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata              97 net/mac80211/sta_info.c 			ps = &sdata->bss->ps;
sdata              98 net/mac80211/sta_info.c 		else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata              99 net/mac80211/sta_info.c 			ps = &sdata->u.mesh.ps;
sdata             129 net/mac80211/sta_info.c 	if (ieee80211_vif_is_mesh(&sdata->vif))
sdata             152 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             153 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             166 net/mac80211/sta_info.c struct sta_info *sta_info_get(struct ieee80211_sub_if_data *sdata,
sdata             169 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             175 net/mac80211/sta_info.c 		if (sta->sdata == sdata) {
sdata             191 net/mac80211/sta_info.c struct sta_info *sta_info_get_bss(struct ieee80211_sub_if_data *sdata,
sdata             194 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             200 net/mac80211/sta_info.c 		if (sta->sdata == sdata ||
sdata             201 net/mac80211/sta_info.c 		    (sta->sdata->bss && sta->sdata->bss == sdata->bss)) {
sdata             213 net/mac80211/sta_info.c struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata,
sdata             216 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             222 net/mac80211/sta_info.c 		if (sdata != sta->sdata)
sdata             250 net/mac80211/sta_info.c 	sta_dbg(sta->sdata, "Destroyed STA %pM\n", sta->sta.addr);
sdata             304 net/mac80211/sta_info.c struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata,
sdata             307 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             329 net/mac80211/sta_info.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata             335 net/mac80211/sta_info.c 		if (ieee80211_vif_is_mesh(&sdata->vif) &&
sdata             336 net/mac80211/sta_info.c 		    !sdata->u.mesh.user_mpm)
sdata             358 net/mac80211/sta_info.c 	sta->sdata = sdata;
sdata             387 net/mac80211/sta_info.c 			ieee80211_txq_init(sdata, sta, txq, i);
sdata             447 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             448 net/mac80211/sta_info.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             452 net/mac80211/sta_info.c 		sband = ieee80211_get_sband(sdata);
sdata             484 net/mac80211/sta_info.c 	sta_dbg(sdata, "Allocated STA %pM\n", sta->sta.addr);
sdata             502 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             509 net/mac80211/sta_info.c 	if (unlikely(!ieee80211_sdata_running(sdata)))
sdata             512 net/mac80211/sta_info.c 	if (WARN_ON(ether_addr_equal(sta->sta.addr, sdata->vif.addr) ||
sdata             521 net/mac80211/sta_info.c 	lockdep_assert_held(&sdata->local->sta_mtx);
sdata             522 net/mac80211/sta_info.c 	if (ieee80211_hw_check(&sdata->local->hw, NEEDS_UNIQUE_STA_ADDR) &&
sdata             523 net/mac80211/sta_info.c 	    ieee80211_find_sta_by_ifaddr(&sdata->local->hw, sta->addr, NULL)) {
sdata             533 net/mac80211/sta_info.c 				     struct ieee80211_sub_if_data *sdata,
sdata             540 net/mac80211/sta_info.c 		err = drv_sta_state(local, sdata, sta, state, state + 1);
sdata             555 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
sdata             556 net/mac80211/sta_info.c 		sdata_info(sdata,
sdata             564 net/mac80211/sta_info.c 		WARN_ON(drv_sta_state(local, sdata, sta, state, state - 1));
sdata             570 net/mac80211/sta_info.c ieee80211_recalc_p2p_go_ps_allowed(struct ieee80211_sub_if_data *sdata)
sdata             572 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata             573 net/mac80211/sta_info.c 	bool allow_p2p_go_ps = sdata->vif.p2p;
sdata             578 net/mac80211/sta_info.c 		if (sdata != sta->sdata ||
sdata             588 net/mac80211/sta_info.c 	if (allow_p2p_go_ps != sdata->vif.bss_conf.allow_p2p_go_ps) {
sdata             589 net/mac80211/sta_info.c 		sdata->vif.bss_conf.allow_p2p_go_ps = allow_p2p_go_ps;
sdata             590 net/mac80211/sta_info.c 		ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_P2P_PS);
sdata             602 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             609 net/mac80211/sta_info.c 	if (sta_info_get_bss(sdata, sta->sta.addr)) {
sdata             635 net/mac80211/sta_info.c 	err = sta_info_insert_drv_state(local, sdata, sta);
sdata             642 net/mac80211/sta_info.c 		ieee80211_recalc_min_chandef(sta->sdata);
sdata             644 net/mac80211/sta_info.c 			ieee80211_recalc_p2p_go_ps_allowed(sta->sdata);
sdata             654 net/mac80211/sta_info.c 	cfg80211_new_sta(sdata->dev, sta->sta.addr, sinfo, GFP_KERNEL);
sdata             657 net/mac80211/sta_info.c 	sta_dbg(sdata, "Inserted STA %pM\n", sta->sta.addr);
sdata             663 net/mac80211/sta_info.c 	if (ieee80211_vif_is_mesh(&sdata->vif))
sdata             664 net/mac80211/sta_info.c 		mesh_accept_plinks_update(sdata);
sdata             770 net/mac80211/sta_info.c 	if (sta->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             771 net/mac80211/sta_info.c 	    sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             772 net/mac80211/sta_info.c 		if (WARN_ON_ONCE(!sta->sdata->bss))
sdata             775 net/mac80211/sta_info.c 		ps = &sta->sdata->bss->ps;
sdata             777 net/mac80211/sta_info.c 	} else if (ieee80211_vif_is_mesh(&sta->sdata->vif)) {
sdata             778 net/mac80211/sta_info.c 		ps = &sta->sdata->u.mesh.ps;
sdata             860 net/mac80211/sta_info.c 		   sta->sdata->vif.bss_conf.beacon_int *
sdata             925 net/mac80211/sta_info.c 		ps_dbg(sta->sdata, "Buffered frame expired (STA %pM)\n",
sdata             953 net/mac80211/sta_info.c 	if (!sta->sdata->bss &&
sdata             954 net/mac80211/sta_info.c 	    !ieee80211_vif_is_mesh(&sta->sdata->vif))
sdata             967 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata;
sdata             976 net/mac80211/sta_info.c 	sdata = sta->sdata;
sdata            1005 net/mac80211/sta_info.c 		drv_tdls_cancel_channel_switch(local, sdata, &sta->sta);
sdata            1012 net/mac80211/sta_info.c 	drv_sta_pre_rcu_remove(local, sta->sdata, sta);
sdata            1014 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
sdata            1015 net/mac80211/sta_info.c 	    rcu_access_pointer(sdata->u.vlan.sta) == sta)
sdata            1016 net/mac80211/sta_info.c 		RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
sdata            1024 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1061 net/mac80211/sta_info.c 		ret = drv_sta_state(local, sdata, sta, IEEE80211_STA_NONE,
sdata            1066 net/mac80211/sta_info.c 	sta_dbg(sdata, "Removed STA %pM\n", sta->sta.addr);
sdata            1071 net/mac80211/sta_info.c 	cfg80211_del_sta_sinfo(sdata->dev, sta->sta.addr, sinfo, GFP_KERNEL);
sdata            1093 net/mac80211/sta_info.c int sta_info_destroy_addr(struct ieee80211_sub_if_data *sdata, const u8 *addr)
sdata            1098 net/mac80211/sta_info.c 	mutex_lock(&sdata->local->sta_mtx);
sdata            1099 net/mac80211/sta_info.c 	sta = sta_info_get(sdata, addr);
sdata            1101 net/mac80211/sta_info.c 	mutex_unlock(&sdata->local->sta_mtx);
sdata            1106 net/mac80211/sta_info.c int sta_info_destroy_addr_bss(struct ieee80211_sub_if_data *sdata,
sdata            1112 net/mac80211/sta_info.c 	mutex_lock(&sdata->local->sta_mtx);
sdata            1113 net/mac80211/sta_info.c 	sta = sta_info_get_bss(sdata, addr);
sdata            1115 net/mac80211/sta_info.c 	mutex_unlock(&sdata->local->sta_mtx);
sdata            1165 net/mac80211/sta_info.c int __sta_info_flush(struct ieee80211_sub_if_data *sdata, bool vlans)
sdata            1167 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1174 net/mac80211/sta_info.c 	WARN_ON(vlans && sdata->vif.type != NL80211_IFTYPE_AP);
sdata            1175 net/mac80211/sta_info.c 	WARN_ON(vlans && !sdata->bss);
sdata            1179 net/mac80211/sta_info.c 		if (sdata == sta->sdata ||
sdata            1180 net/mac80211/sta_info.c 		    (vlans && sdata->bss == sta->sdata->bss)) {
sdata            1197 net/mac80211/sta_info.c void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
sdata            1200 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1208 net/mac80211/sta_info.c 		if (sdata != sta->sdata)
sdata            1212 net/mac80211/sta_info.c 			sta_dbg(sta->sdata, "expiring inactive STA %pM\n",
sdata            1215 net/mac80211/sta_info.c 			if (ieee80211_vif_is_mesh(&sdata->vif) &&
sdata            1217 net/mac80211/sta_info.c 				atomic_dec(&sdata->u.mesh.ps.num_sta_ps);
sdata            1240 net/mac80211/sta_info.c 		    !ether_addr_equal(sta->sdata->vif.addr, localaddr))
sdata            1273 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1274 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1280 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            1281 net/mac80211/sta_info.c 		sdata = container_of(sdata->bss, struct ieee80211_sub_if_data,
sdata            1284 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1285 net/mac80211/sta_info.c 		ps = &sdata->bss->ps;
sdata            1286 net/mac80211/sta_info.c 	else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            1287 net/mac80211/sta_info.c 		ps = &sdata->u.mesh.ps;
sdata            1298 net/mac80211/sta_info.c 		drv_sta_notify(local, sdata, STA_NOTIFY_AWAKE, &sta->sta);
sdata            1344 net/mac80211/sta_info.c 	if (!ieee80211_vif_is_mesh(&sdata->vif) &&
sdata            1346 net/mac80211/sta_info.c 					   sdata->smps_mode) &&
sdata            1347 net/mac80211/sta_info.c 	    sta->known_smps_mode != sdata->bss->req_smps &&
sdata            1349 net/mac80211/sta_info.c 		ht_dbg(sdata,
sdata            1352 net/mac80211/sta_info.c 		ieee80211_send_smps_action(sdata, sdata->bss->req_smps,
sdata            1354 net/mac80211/sta_info.c 					   sdata->vif.bss_conf.bssid);
sdata            1361 net/mac80211/sta_info.c 	ps_dbg(sdata,
sdata            1372 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1373 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1383 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            1384 net/mac80211/sta_info.c 	    !(sdata->u.mgd.flags & IEEE80211_STA_DISABLE_HE))
sdata            1408 net/mac80211/sta_info.c 	memcpy(nullfunc->addr2, sdata->vif.addr, ETH_ALEN);
sdata            1409 net/mac80211/sta_info.c 	memcpy(nullfunc->addr3, sdata->vif.addr, ETH_ALEN);
sdata            1444 net/mac80211/sta_info.c 	skb->dev = sdata->dev;
sdata            1447 net/mac80211/sta_info.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1455 net/mac80211/sta_info.c 	ieee80211_xmit(sdata, sta, skb, 0);
sdata            1509 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1510 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1564 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1565 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            1885 net/mac80211/sta_info.c 	struct ieee80211_local *local = sta->sdata->local;
sdata            1936 net/mac80211/sta_info.c 	sta_dbg(sta->sdata, "moving STA %pM to state %d\n",
sdata            1944 net/mac80211/sta_info.c 		int err = drv_sta_state(sta->local, sta->sdata, sta,
sdata            1962 net/mac80211/sta_info.c 			ieee80211_recalc_min_chandef(sta->sdata);
sdata            1964 net/mac80211/sta_info.c 				ieee80211_recalc_p2p_go_ps_allowed(sta->sdata);
sdata            1971 net/mac80211/sta_info.c 			ieee80211_recalc_min_chandef(sta->sdata);
sdata            1973 net/mac80211/sta_info.c 				ieee80211_recalc_p2p_go_ps_allowed(sta->sdata);
sdata            1975 net/mac80211/sta_info.c 			ieee80211_vif_dec_num_mcast(sta->sdata);
sdata            1983 net/mac80211/sta_info.c 			ieee80211_vif_inc_num_mcast(sta->sdata);
sdata            1988 net/mac80211/sta_info.c 		if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
sdata            1989 net/mac80211/sta_info.c 		    sta->sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1990 net/mac80211/sta_info.c 			cfg80211_send_layer2_update(sta->sdata->dev,
sdata            2181 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            2182 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            2189 net/mac80211/sta_info.c 	sinfo->generation = sdata->local->sta_generation;
sdata            2195 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata            2196 net/mac80211/sta_info.c 		sinfo->rx_beacon = sdata->u.mgd.count_beacon_signal;
sdata            2198 net/mac80211/sta_info.c 	drv_sta_statistics(local, sdata, &sta->sta, sinfo);
sdata            2207 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata            2208 net/mac80211/sta_info.c 		sinfo->beacon_loss_count = sdata->u.mgd.beacon_loss_count;
sdata            2298 net/mac80211/sta_info.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata            2299 net/mac80211/sta_info.c 	    !(sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER)) {
sdata            2302 net/mac80211/sta_info.c 		sinfo->rx_beacon_signal_avg = ieee80211_ave_rssi(&sdata->vif);
sdata            2357 net/mac80211/sta_info.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            2382 net/mac80211/sta_info.c 	if (sdata->vif.bss_conf.use_cts_prot)
sdata            2384 net/mac80211/sta_info.c 	if (sdata->vif.bss_conf.use_short_preamble)
sdata            2386 net/mac80211/sta_info.c 	if (sdata->vif.bss_conf.use_short_slot)
sdata            2388 net/mac80211/sta_info.c 	sinfo->bss_param.dtim_period = sdata->vif.bss_conf.dtim_period;
sdata            2389 net/mac80211/sta_info.c 	sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int;
sdata            2436 net/mac80211/sta_info.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            2445 net/mac80211/sta_info.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            2446 net/mac80211/sta_info.c 	struct ieee80211_local *local = sdata->local;
sdata            2474 net/mac80211/sta_info.c 	if (!sta->sdata->local->ops->wake_tx_queue)
sdata             529 net/mac80211/sta_info.h 	struct ieee80211_sub_if_data *sdata;
sdata             723 net/mac80211/sta_info.h struct sta_info *sta_info_get(struct ieee80211_sub_if_data *sdata,
sdata             726 net/mac80211/sta_info.h struct sta_info *sta_info_get_bss(struct ieee80211_sub_if_data *sdata,
sdata             736 net/mac80211/sta_info.h struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata,
sdata             742 net/mac80211/sta_info.h struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata,
sdata             759 net/mac80211/sta_info.h int sta_info_destroy_addr(struct ieee80211_sub_if_data *sdata,
sdata             761 net/mac80211/sta_info.h int sta_info_destroy_addr_bss(struct ieee80211_sub_if_data *sdata,
sdata             777 net/mac80211/sta_info.h int __sta_info_flush(struct ieee80211_sub_if_data *sdata, bool vlans);
sdata             779 net/mac80211/sta_info.h static inline int sta_info_flush(struct ieee80211_sub_if_data *sdata)
sdata             781 net/mac80211/sta_info.h 	return __sta_info_flush(sdata, false);
sdata             792 net/mac80211/sta_info.h void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
sdata              68 net/mac80211/status.c 	info->control.vif = &sta->sdata->vif;
sdata             163 net/mac80211/status.c 	ps_dbg_ratelimited(sta->sdata,
sdata             179 net/mac80211/status.c 	ieee80211_send_bar(&sta->sdata->vif, addr, tid, tid_tx->failed_bar_ssn);
sdata             186 net/mac80211/status.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             212 net/mac80211/status.c 	    ieee80211_sdata_running(sdata)) {
sdata             228 net/mac80211/status.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata             236 net/mac80211/status.c 			sdata->smps_mode = smps_mode;
sdata             237 net/mac80211/status.c 			ieee80211_queue_work(&local->hw, &sdata->recalc_smps);
sdata             238 net/mac80211/status.c 		} else if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             239 net/mac80211/status.c 			   sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             570 net/mac80211/status.c 					struct ieee80211_sub_if_data *sdata,
sdata             578 net/mac80211/status.c 	spin_lock(&sdata->u.mgd.teardown_lock);
sdata             579 net/mac80211/status.c 	teardown_skb = sdata->u.mgd.teardown_skb;
sdata             580 net/mac80211/status.c 	orig_teardown_skb = sdata->u.mgd.orig_teardown_skb;
sdata             582 net/mac80211/status.c 		sdata->u.mgd.teardown_skb = NULL;
sdata             583 net/mac80211/status.c 		sdata->u.mgd.orig_teardown_skb = NULL;
sdata             586 net/mac80211/status.c 	spin_unlock(&sdata->u.mgd.teardown_lock);
sdata             596 net/mac80211/status.c 			tdls_dbg(sdata,
sdata             607 net/mac80211/status.c 	struct ieee80211_sub_if_data *sdata;
sdata             610 net/mac80211/status.c 		list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             611 net/mac80211/status.c 			if (!sdata->dev)
sdata             614 net/mac80211/status.c 			if (skb->dev == sdata->dev)
sdata             615 net/mac80211/status.c 				return sdata;
sdata             640 net/mac80211/status.c 		struct ieee80211_sub_if_data *sdata;
sdata             644 net/mac80211/status.c 		sdata = ieee80211_sdata_from_skb(local, skb);
sdata             645 net/mac80211/status.c 		if (sdata) {
sdata             647 net/mac80211/status.c 				cfg80211_probe_status(sdata->dev, hdr->addr1,
sdata             653 net/mac80211/status.c 				cfg80211_mgmt_tx_status(&sdata->wdev, cookie,
sdata             679 net/mac80211/status.c 		struct ieee80211_sub_if_data *sdata;
sdata             683 net/mac80211/status.c 		sdata = ieee80211_sdata_from_skb(local, skb);
sdata             685 net/mac80211/status.c 		if (!sdata) {
sdata             695 net/mac80211/status.c 				ieee80211_tdls_td_tx_handle(local, sdata, skb,
sdata             698 net/mac80211/status.c 				ieee80211_mgd_conn_tx_status(sdata,
sdata             764 net/mac80211/status.c 	cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr,
sdata             811 net/mac80211/status.c 	struct ieee80211_sub_if_data *sdata;
sdata             833 net/mac80211/status.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             834 net/mac80211/status.c 		if (sdata->vif.type == NL80211_IFTYPE_MONITOR) {
sdata             835 net/mac80211/status.c 			if (!ieee80211_sdata_running(sdata))
sdata             838 net/mac80211/status.c 			if ((sdata->u.mntr.flags & MONITOR_FLAG_COOK_FRAMES) &&
sdata             850 net/mac80211/status.c 			prev_dev = sdata->dev;
sdata             887 net/mac80211/status.c 		shift = ieee80211_vif_get_shift(&sta->sdata->vif);
sdata             895 net/mac80211/status.c 		if (ieee80211_vif_is_mesh(&sta->sdata->vif) &&
sdata             924 net/mac80211/status.c 			ieee80211_send_bar(&sta->sdata->vif, hdr->addr1,
sdata             971 net/mac80211/status.c 		if (ieee80211_vif_is_mesh(&sta->sdata->vif))
sdata             977 net/mac80211/status.c 		if ((sta->sdata->vif.type == NL80211_IFTYPE_STATION) &&
sdata             979 net/mac80211/status.c 			ieee80211_sta_tx_notify(sta->sdata, (void *) skb->data,
sdata            1083 net/mac80211/status.c 		if (!ether_addr_equal(hdr->addr2, sta->sdata->vif.addr))
sdata            1143 net/mac80211/status.c 		if (ieee80211_vif_is_mesh(&sta->sdata->vif))
sdata            1183 net/mac80211/status.c 	cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr,
sdata              26 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata;
sdata              29 net/mac80211/tdls.c 	sdata = container_of(wk, struct ieee80211_sub_if_data,
sdata              31 net/mac80211/tdls.c 	local = sdata->local;
sdata              34 net/mac80211/tdls.c 	if (!is_zero_ether_addr(sdata->u.mgd.tdls_peer)) {
sdata              35 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS del peer %pM\n", sdata->u.mgd.tdls_peer);
sdata              36 net/mac80211/tdls.c 		sta_info_destroy_addr(sdata, sdata->u.mgd.tdls_peer);
sdata              37 net/mac80211/tdls.c 		eth_zero_addr(sdata->u.mgd.tdls_peer);
sdata              42 net/mac80211/tdls.c static void ieee80211_tdls_add_ext_capab(struct ieee80211_sub_if_data *sdata,
sdata              45 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata              46 net/mac80211/tdls.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata              53 net/mac80211/tdls.c 	struct ieee80211_supported_band *sband = ieee80211_get_sband(sdata);
sdata              71 net/mac80211/tdls.c ieee80211_tdls_add_subband(struct ieee80211_sub_if_data *sdata,
sdata              79 net/mac80211/tdls.c 	struct wiphy *wiphy = sdata->local->hw.wiphy;
sdata              85 net/mac80211/tdls.c 		ch = ieee80211_get_channel(sdata->local->hw.wiphy, i);
sdata              91 net/mac80211/tdls.c 							  sdata->wdev.iftype)) {
sdata             128 net/mac80211/tdls.c ieee80211_tdls_add_supp_channels(struct ieee80211_sub_if_data *sdata,
sdata             146 net/mac80211/tdls.c 	subband_cnt = ieee80211_tdls_add_subband(sdata, skb, 2412, 2472, 5);
sdata             149 net/mac80211/tdls.c 	subband_cnt += ieee80211_tdls_add_subband(sdata, skb, 5000, 5825, 20);
sdata             155 net/mac80211/tdls.c static void ieee80211_tdls_add_oper_classes(struct ieee80211_sub_if_data *sdata,
sdata             161 net/mac80211/tdls.c 	if (!ieee80211_chandef_to_operating_class(&sdata->vif.bss_conf.chandef,
sdata             183 net/mac80211/tdls.c static u16 ieee80211_get_tdls_sta_capab(struct ieee80211_sub_if_data *sdata,
sdata             192 net/mac80211/tdls.c 	sband = ieee80211_get_sband(sdata);
sdata             201 net/mac80211/tdls.c static void ieee80211_tdls_add_link_ie(struct ieee80211_sub_if_data *sdata,
sdata             209 net/mac80211/tdls.c 		init_addr = sdata->vif.addr;
sdata             213 net/mac80211/tdls.c 		rsp_addr = sdata->vif.addr;
sdata             221 net/mac80211/tdls.c 	memcpy(lnkid->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata             227 net/mac80211/tdls.c ieee80211_tdls_add_aid(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
sdata             229 net/mac80211/tdls.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             272 net/mac80211/tdls.c static void ieee80211_tdls_add_wmm_param_ie(struct ieee80211_sub_if_data *sdata,
sdata             297 net/mac80211/tdls.c 		txq = &sdata->tx_conf[ieee80211_ac_from_wmm(i)];
sdata             306 net/mac80211/tdls.c ieee80211_tdls_chandef_vht_upgrade(struct ieee80211_sub_if_data *sdata,
sdata             345 net/mac80211/tdls.c 		!cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &uc,
sdata             346 net/mac80211/tdls.c 					       sdata->wdev.iftype)))
sdata             350 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS ch width upgraded %d -> %d\n",
sdata             362 net/mac80211/tdls.c ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
sdata             368 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata             375 net/mac80211/tdls.c 	sband = ieee80211_get_sband(sdata);
sdata             379 net/mac80211/tdls.c 	ieee80211_add_srates_ie(sdata, skb, false, sband->band);
sdata             380 net/mac80211/tdls.c 	ieee80211_add_ext_srates_ie(sdata, skb, false, sband->band);
sdata             381 net/mac80211/tdls.c 	ieee80211_tdls_add_supp_channels(sdata, skb);
sdata             400 net/mac80211/tdls.c 	ieee80211_tdls_add_ext_capab(sdata, skb);
sdata             433 net/mac80211/tdls.c 		sta = sta_info_get(sdata, peer);
sdata             439 net/mac80211/tdls.c 		sta->tdls_chandef = sdata->vif.bss_conf.chandef;
sdata             442 net/mac80211/tdls.c 	ieee80211_tdls_add_oper_classes(sdata, skb);
sdata             454 net/mac80211/tdls.c 		ieee80211_apply_htcap_overrides(sdata, &ht_cap);
sdata             475 net/mac80211/tdls.c 	ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
sdata             505 net/mac80211/tdls.c 		ieee80211_apply_vhtcap_overrides(sdata, &vht_cap);
sdata             509 net/mac80211/tdls.c 			ieee80211_tdls_add_aid(sdata, skb);
sdata             519 net/mac80211/tdls.c 		ieee80211_tdls_add_aid(sdata, skb);
sdata             529 net/mac80211/tdls.c 			ieee80211_tdls_chandef_vht_upgrade(sdata, sta);
sdata             543 net/mac80211/tdls.c ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
sdata             548 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata             549 net/mac80211/tdls.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata             555 net/mac80211/tdls.c 	sband = ieee80211_get_sband(sdata);
sdata             561 net/mac80211/tdls.c 	sta = sta_info_get(sdata, peer);
sdata             562 net/mac80211/tdls.c 	ap_sta = sta_info_get(sdata, ifmgd->bssid);
sdata             568 net/mac80211/tdls.c 	sta->tdls_chandef = sdata->vif.bss_conf.chandef;
sdata             585 net/mac80211/tdls.c 		ieee80211_tdls_add_wmm_param_ie(sdata, skb);
sdata             614 net/mac80211/tdls.c 					   &sdata->vif.bss_conf.chandef, prot,
sdata             618 net/mac80211/tdls.c 	ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
sdata             628 net/mac80211/tdls.c 			ieee80211_tdls_chandef_vht_upgrade(sdata, sta);
sdata             645 net/mac80211/tdls.c ieee80211_tdls_add_chan_switch_req_ies(struct ieee80211_sub_if_data *sdata,
sdata             674 net/mac80211/tdls.c 	ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
sdata             684 net/mac80211/tdls.c ieee80211_tdls_add_chan_switch_resp_ies(struct ieee80211_sub_if_data *sdata,
sdata             691 net/mac80211/tdls.c 		ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
sdata             697 net/mac80211/tdls.c static void ieee80211_tdls_add_ies(struct ieee80211_sub_if_data *sdata,
sdata             709 net/mac80211/tdls.c 			ieee80211_tdls_add_setup_start_ies(sdata, skb, peer,
sdata             717 net/mac80211/tdls.c 			ieee80211_tdls_add_setup_cfm_ies(sdata, skb, peer,
sdata             726 net/mac80211/tdls.c 			ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
sdata             729 net/mac80211/tdls.c 		ieee80211_tdls_add_chan_switch_req_ies(sdata, skb, peer,
sdata             735 net/mac80211/tdls.c 		ieee80211_tdls_add_chan_switch_resp_ies(sdata, skb, peer,
sdata             749 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             755 net/mac80211/tdls.c 	memcpy(tf->sa, sdata->vif.addr, ETH_ALEN);
sdata             770 net/mac80211/tdls.c 			cpu_to_le16(ieee80211_get_tdls_sta_capab(sdata,
sdata             781 net/mac80211/tdls.c 			cpu_to_le16(ieee80211_get_tdls_sta_capab(sdata,
sdata             831 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             836 net/mac80211/tdls.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata             837 net/mac80211/tdls.c 	memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
sdata             851 net/mac80211/tdls.c 			cpu_to_le16(ieee80211_get_tdls_sta_capab(sdata,
sdata             862 net/mac80211/tdls.c ieee80211_tdls_build_mgmt_packet_data(struct ieee80211_sub_if_data *sdata,
sdata             869 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata             873 net/mac80211/tdls.c 	skb = netdev_alloc_skb(sdata->dev,
sdata             904 net/mac80211/tdls.c 						     sdata->dev, peer,
sdata             909 net/mac80211/tdls.c 		ret = ieee80211_prep_tdls_direct(local->hw.wiphy, sdata->dev,
sdata             922 net/mac80211/tdls.c 	ieee80211_tdls_add_ies(sdata, skb, peer, action_code, status_code,
sdata             940 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata             947 net/mac80211/tdls.c 	sta = sta_info_get(sdata, peer);
sdata             992 net/mac80211/tdls.c 	skb = ieee80211_tdls_build_mgmt_packet_data(sdata, peer, action_code,
sdata            1003 net/mac80211/tdls.c 		ieee80211_tx_skb(sdata, skb);
sdata            1020 net/mac80211/tdls.c 	skb_set_queue_mapping(skb, ieee80211_select_queue(sdata, skb));
sdata            1028 net/mac80211/tdls.c 	    ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) {
sdata            1033 net/mac80211/tdls.c 		sta = sta_info_get(sdata, peer);
sdata            1037 net/mac80211/tdls.c 		spin_lock_bh(&sdata->u.mgd.teardown_lock);
sdata            1038 net/mac80211/tdls.c 		if (try_resend && !sdata->u.mgd.teardown_skb) {
sdata            1050 net/mac80211/tdls.c 			sdata->u.mgd.teardown_skb = skb_copy(skb, GFP_ATOMIC);
sdata            1051 net/mac80211/tdls.c 			sdata->u.mgd.orig_teardown_skb = skb;
sdata            1053 net/mac80211/tdls.c 		spin_unlock_bh(&sdata->u.mgd.teardown_lock);
sdata            1074 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1075 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1076 net/mac80211/tdls.c 	enum ieee80211_smps_mode smps_mode = sdata->u.mgd.driver_smps_mode;
sdata            1082 net/mac80211/tdls.c 		tdls_dbg(sdata, "Aborting TDLS setup due to SMPS mode %d\n",
sdata            1090 net/mac80211/tdls.c 	if (!is_zero_ether_addr(sdata->u.mgd.tdls_peer) &&
sdata            1091 net/mac80211/tdls.c 	    !ether_addr_equal(sdata->u.mgd.tdls_peer, peer)) {
sdata            1105 net/mac80211/tdls.c 		if (!sta_info_get(sdata, peer)) {
sdata            1113 net/mac80211/tdls.c 	ieee80211_flush_queues(local, sdata, false);
sdata            1114 net/mac80211/tdls.c 	memcpy(sdata->u.mgd.tdls_peer, peer, ETH_ALEN);
sdata            1125 net/mac80211/tdls.c 		eth_zero_addr(sdata->u.mgd.tdls_peer);
sdata            1130 net/mac80211/tdls.c 	ieee80211_queue_delayed_work(&sdata->local->hw,
sdata            1131 net/mac80211/tdls.c 				     &sdata->u.mgd.tdls_peer_del_work,
sdata            1147 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1148 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1158 net/mac80211/tdls.c 	ieee80211_stop_vif_queues(local, sdata,
sdata            1160 net/mac80211/tdls.c 	ieee80211_flush_queues(local, sdata, false);
sdata            1168 net/mac80211/tdls.c 		sdata_err(sdata, "Failed sending TDLS teardown packet %d\n",
sdata            1176 net/mac80211/tdls.c 	sta = sta_info_get(sdata, peer);
sdata            1181 net/mac80211/tdls.c 	ieee80211_wake_vif_queues(local, sdata,
sdata            1193 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1200 net/mac80211/tdls.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION ||
sdata            1201 net/mac80211/tdls.c 	    !sdata->u.mgd.associated)
sdata            1225 net/mac80211/tdls.c 		drv_mgd_protect_tdls_discover(sdata->local, sdata);
sdata            1243 net/mac80211/tdls.c 	tdls_dbg(sdata, "TDLS mgmt action %d peer %pM status %d\n",
sdata            1248 net/mac80211/tdls.c static void iee80211_tdls_recalc_chanctx(struct ieee80211_sub_if_data *sdata,
sdata            1251 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1258 net/mac80211/tdls.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            1290 net/mac80211/tdls.c static int iee80211_tdls_have_ht_peers(struct ieee80211_sub_if_data *sdata)
sdata            1296 net/mac80211/tdls.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
sdata            1297 net/mac80211/tdls.c 		if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded ||
sdata            1311 net/mac80211/tdls.c iee80211_tdls_recalc_ht_protection(struct ieee80211_sub_if_data *sdata,
sdata            1314 net/mac80211/tdls.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            1326 net/mac80211/tdls.c 		  iee80211_tdls_have_ht_peers(sdata);
sdata            1328 net/mac80211/tdls.c 	opmode = sdata->vif.bss_conf.ht_operation_mode;
sdata            1335 net/mac80211/tdls.c 	if (opmode == sdata->vif.bss_conf.ht_operation_mode)
sdata            1338 net/mac80211/tdls.c 	sdata->vif.bss_conf.ht_operation_mode = opmode;
sdata            1339 net/mac80211/tdls.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_HT);
sdata            1346 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1347 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1353 net/mac80211/tdls.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            1370 net/mac80211/tdls.c 	sdata_lock(sdata);
sdata            1372 net/mac80211/tdls.c 	tdls_dbg(sdata, "TDLS oper %d peer %pM\n", oper, peer);
sdata            1376 net/mac80211/tdls.c 		if (sdata->vif.csa_active) {
sdata            1377 net/mac80211/tdls.c 			tdls_dbg(sdata, "TDLS: disallow link during CSA\n");
sdata            1383 net/mac80211/tdls.c 		sta = sta_info_get(sdata, peer);
sdata            1390 net/mac80211/tdls.c 		iee80211_tdls_recalc_chanctx(sdata, sta);
sdata            1391 net/mac80211/tdls.c 		iee80211_tdls_recalc_ht_protection(sdata, sta);
sdata            1396 net/mac80211/tdls.c 		WARN_ON_ONCE(is_zero_ether_addr(sdata->u.mgd.tdls_peer) ||
sdata            1397 net/mac80211/tdls.c 			     !ether_addr_equal(sdata->u.mgd.tdls_peer, peer));
sdata            1413 net/mac80211/tdls.c 		ieee80211_flush_queues(local, sdata, false);
sdata            1415 net/mac80211/tdls.c 		ret = sta_info_destroy_addr(sdata, peer);
sdata            1418 net/mac80211/tdls.c 		iee80211_tdls_recalc_ht_protection(sdata, NULL);
sdata            1421 net/mac80211/tdls.c 		iee80211_tdls_recalc_chanctx(sdata, NULL);
sdata            1428 net/mac80211/tdls.c 	if (ret == 0 && ether_addr_equal(sdata->u.mgd.tdls_peer, peer)) {
sdata            1429 net/mac80211/tdls.c 		cancel_delayed_work(&sdata->u.mgd.tdls_peer_del_work);
sdata            1430 net/mac80211/tdls.c 		eth_zero_addr(sdata->u.mgd.tdls_peer);
sdata            1434 net/mac80211/tdls.c 		ieee80211_queue_work(&sdata->local->hw,
sdata            1435 net/mac80211/tdls.c 				     &sdata->u.mgd.request_smps_work);
sdata            1438 net/mac80211/tdls.c 	sdata_unlock(sdata);
sdata            1446 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            1449 net/mac80211/tdls.c 		sdata_err(sdata, "Discarding TDLS oper %d - not STA or disconnected\n",
sdata            1454 net/mac80211/tdls.c 	cfg80211_tdls_oper_request(sdata->dev, peer, oper, reason_code, gfp);
sdata            1494 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1526 net/mac80211/tdls.c 	skb = ieee80211_tdls_build_mgmt_packet_data(sdata, sta->sta.addr,
sdata            1534 net/mac80211/tdls.c 	skb = ieee80211_build_data_template(sdata, skb, 0);
sdata            1536 net/mac80211/tdls.c 		tdls_dbg(sdata, "Failed building TDLS channel switch frame\n");
sdata            1544 net/mac80211/tdls.c 			tdls_dbg(sdata, "No switch timing IE in TDLS switch\n");
sdata            1552 net/mac80211/tdls.c 	tdls_dbg(sdata,
sdata            1563 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1564 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1571 net/mac80211/tdls.c 	sta = sta_info_get(sdata, addr);
sdata            1573 net/mac80211/tdls.c 		tdls_dbg(sdata,
sdata            1581 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch unsupported by %pM\n",
sdata            1594 net/mac80211/tdls.c 	ret = drv_tdls_channel_switch(local, sdata, &sta->sta, oper_class,
sdata            1610 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            1611 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1615 net/mac80211/tdls.c 	sta = sta_info_get(sdata, addr);
sdata            1617 net/mac80211/tdls.c 		tdls_dbg(sdata,
sdata            1624 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch not initiated by %pM\n",
sdata            1629 net/mac80211/tdls.c 	drv_tdls_cancel_channel_switch(local, sdata, &sta->sta);
sdata            1640 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            1647 net/mac80211/tdls.c 	skb = ieee80211_tdls_build_mgmt_packet_data(sdata, sta->sta.addr,
sdata            1654 net/mac80211/tdls.c 	skb = ieee80211_build_data_template(sdata, skb, 0);
sdata            1656 net/mac80211/tdls.c 		tdls_dbg(sdata,
sdata            1665 net/mac80211/tdls.c 			tdls_dbg(sdata,
sdata            1674 net/mac80211/tdls.c 	tdls_dbg(sdata, "TDLS get channel switch response template for %pM\n",
sdata            1680 net/mac80211/tdls.c ieee80211_process_tdls_channel_switch_resp(struct ieee80211_sub_if_data *sdata,
sdata            1683 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1697 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch resp too short: %d\n",
sdata            1703 net/mac80211/tdls.c 	sta = sta_info_get(sdata, tf->sa);
sdata            1705 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch from non-peer sta %pM\n",
sdata            1722 net/mac80211/tdls.c 		tdls_dbg(sdata, "Invalid IEs in TDLS channel switch resp\n");
sdata            1728 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch resp - missing IEs\n");
sdata            1735 net/mac80211/tdls.c 		!memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN);
sdata            1737 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch invalid lnk-id initiator\n");
sdata            1754 net/mac80211/tdls.c 	drv_tdls_recv_channel_switch(sdata->local, sdata, &params);
sdata            1756 net/mac80211/tdls.c 	tdls_dbg(sdata,
sdata            1767 net/mac80211/tdls.c ieee80211_process_tdls_channel_switch_req(struct ieee80211_sub_if_data *sdata,
sdata            1770 net/mac80211/tdls.c 	struct ieee80211_local *local = sdata->local;
sdata            1790 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch req too short: %d\n",
sdata            1818 net/mac80211/tdls.c 		tdls_dbg(sdata, "Invalid channel in TDLS chan switch: %d\n",
sdata            1823 net/mac80211/tdls.c 	chan = ieee80211_get_channel(sdata->local->hw.wiphy, freq);
sdata            1825 net/mac80211/tdls.c 		tdls_dbg(sdata,
sdata            1834 net/mac80211/tdls.c 		tdls_dbg(sdata, "Invalid IEs in TDLS channel switch req\n");
sdata            1839 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS channel switch req - missing IEs\n");
sdata            1862 net/mac80211/tdls.c 	if (!cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &chandef,
sdata            1863 net/mac80211/tdls.c 					   sdata->wdev.iftype)) {
sdata            1864 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch to forbidden channel\n");
sdata            1869 net/mac80211/tdls.c 	sta = sta_info_get(sdata, tf->sa);
sdata            1871 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch from non-peer sta %pM\n",
sdata            1881 net/mac80211/tdls.c 		!memcmp(elems.lnk_id->init_sta, sdata->vif.addr, ETH_ALEN);
sdata            1883 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch invalid lnk-id initiator\n");
sdata            1891 net/mac80211/tdls.c 		tdls_dbg(sdata, "TDLS chan switch - wide chan unsupported\n");
sdata            1908 net/mac80211/tdls.c 	drv_tdls_recv_channel_switch(sdata->local, sdata, &params);
sdata            1910 net/mac80211/tdls.c 	tdls_dbg(sdata,
sdata            1921 net/mac80211/tdls.c ieee80211_process_tdls_channel_switch(struct ieee80211_sub_if_data *sdata,
sdata            1925 net/mac80211/tdls.c 	struct wiphy *wiphy = sdata->local->hw.wiphy;
sdata            1942 net/mac80211/tdls.c 		ieee80211_process_tdls_channel_switch_req(sdata, skb);
sdata            1945 net/mac80211/tdls.c 		ieee80211_process_tdls_channel_switch_resp(sdata, skb);
sdata            1953 net/mac80211/tdls.c void ieee80211_teardown_tdls_peers(struct ieee80211_sub_if_data *sdata)
sdata            1959 net/mac80211/tdls.c 	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
sdata            1960 net/mac80211/tdls.c 		if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded ||
sdata            1964 net/mac80211/tdls.c 		ieee80211_tdls_oper_request(&sdata->vif, sta->sta.addr,
sdata            1975 net/mac80211/tdls.c 	struct ieee80211_sub_if_data *sdata;
sdata            1982 net/mac80211/tdls.c 		list_for_each_entry(sdata, &local->interfaces, list) {
sdata            1983 net/mac80211/tdls.c 			if (!ieee80211_sdata_running(sdata) ||
sdata            1984 net/mac80211/tdls.c 			    sdata->vif.type != NL80211_IFTYPE_STATION ||
sdata            1985 net/mac80211/tdls.c 			    !ether_addr_equal(tf->da, sdata->vif.addr))
sdata            1988 net/mac80211/tdls.c 			ieee80211_process_tdls_channel_switch(sdata, skb);
sdata            1997 net/mac80211/tdls.c void ieee80211_tdls_handle_disconnect(struct ieee80211_sub_if_data *sdata,
sdata            2003 net/mac80211/tdls.c 	sta = ieee80211_find_sta(&sdata->vif, peer);
sdata            2010 net/mac80211/tdls.c 	tdls_dbg(sdata, "disconnected from TDLS peer %pM (Reason: %u=%s)\n",
sdata            2014 net/mac80211/tdls.c 	ieee80211_tdls_oper_request(&sdata->vif, peer,
sdata             154 net/mac80211/tkip.c 	struct ieee80211_sub_if_data *sdata = key->sdata;
sdata             168 net/mac80211/tkip.c 		tkip_mixing_phase1(tk, ctx, sdata->vif.addr, iv32);
sdata             297 net/mac80211/tkip.c 		struct ieee80211_sub_if_data *sdata = key->sdata;
sdata             299 net/mac80211/tkip.c 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata             300 net/mac80211/tkip.c 			sdata = container_of(key->sdata->bss,
sdata             302 net/mac80211/tkip.c 		drv_update_tkip_key(key->local, sdata, &key->conf, key->sta,
sdata              30 net/mac80211/trace.h #define VIF_ENTRY	__field(enum nl80211_iftype, vif_type) __field(void *, sdata)	\
sdata              32 net/mac80211/trace.h 			__string(vif_name, sdata->name)
sdata              33 net/mac80211/trace.h #define VIF_ASSIGN	__entry->vif_type = sdata->vif.type; __entry->sdata = sdata;	\
sdata              34 net/mac80211/trace.h 			__entry->p2p = sdata->vif.p2p;					\
sdata              35 net/mac80211/trace.h 			__assign_str(vif_name, sdata->name)
sdata             129 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             130 net/mac80211/trace.h 	TP_ARGS(local, sdata),
sdata             141 net/mac80211/trace.h 		memcpy(__entry->addr, sdata->vif.addr, ETH_ALEN);
sdata             172 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             173 net/mac80211/trace.h 	TP_ARGS(local, sdata),
sdata             304 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             305 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             310 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             313 net/mac80211/trace.h 	TP_ARGS(local, sdata, type, p2p),
sdata             338 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             339 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             384 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             388 net/mac80211/trace.h 	TP_ARGS(local, sdata, info, changed),
sdata             526 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             530 net/mac80211/trace.h 	TP_ARGS(local, sdata, filter_flags, changed_flags),
sdata             580 net/mac80211/trace.h 		 enum set_key_cmd cmd, struct ieee80211_sub_if_data *sdata,
sdata             584 net/mac80211/trace.h 	TP_ARGS(local, cmd, sdata, sta, key),
sdata             608 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             612 net/mac80211/trace.h 	TP_ARGS(local, sdata, conf, sta, iv32),
sdata             636 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             637 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             642 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             643 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             648 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             649 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             654 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             655 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             660 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             663 net/mac80211/trace.h 	TP_ARGS(local, sdata, mac_addr),
sdata             683 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             684 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             773 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             777 net/mac80211/trace.h 	TP_ARGS(local, sdata, cmd, sta),
sdata             801 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             806 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta, old_state, new_state),
sdata             833 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             836 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta),
sdata             863 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             867 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta, changed),
sdata             891 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             894 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta),
sdata             916 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             918 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             923 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             925 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             930 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             932 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             937 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             939 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             944 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             946 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             951 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             953 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta)
sdata             958 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata             961 net/mac80211/trace.h 	TP_ARGS(local, sdata, ac, params),
sdata             993 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata             994 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata             999 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1002 net/mac80211/trace.h 	TP_ARGS(local, sdata, tsf),
sdata            1024 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1027 net/mac80211/trace.h 	TP_ARGS(local, sdata, offset),
sdata            1050 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1051 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1061 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1064 net/mac80211/trace.h 	TP_ARGS(local, sdata, params),
sdata            1132 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1135 net/mac80211/trace.h 	TP_ARGS(local, sdata, ch_switch),
sdata            1215 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1220 net/mac80211/trace.h 	TP_ARGS(local, sdata, chan, duration, type),
sdata            1247 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1248 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1315 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1318 net/mac80211/trace.h 	TP_ARGS(local, sdata, mask),
sdata            1342 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1345 net/mac80211/trace.h 	TP_ARGS(local, sdata, data),
sdata            1370 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1373 net/mac80211/trace.h 	TP_ARGS(local, sdata, _event),
sdata            1450 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1453 net/mac80211/trace.h 	TP_ARGS(local, sdata, duration),
sdata            1475 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1477 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1587 net/mac80211/trace.h 				struct ieee80211_sub_if_data *sdata;
sdata            1589 net/mac80211/trace.h 				sdata = container_of(vifs[i].vif,
sdata            1596 net/mac80211/trace.h 					sdata->name,
sdata            1626 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1629 net/mac80211/trace.h 	TP_ARGS(local, sdata, ctx),
sdata            1651 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1653 net/mac80211/trace.h 	TP_ARGS(local, sdata, ctx)
sdata            1658 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1660 net/mac80211/trace.h 	TP_ARGS(local, sdata, ctx)
sdata            1665 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1668 net/mac80211/trace.h 	TP_ARGS(local, sdata, info),
sdata            1696 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1697 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1725 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1726 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1732 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1735 net/mac80211/trace.h 	TP_ARGS(local, sdata, info),
sdata            1761 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1762 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1785 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1788 net/mac80211/trace.h 	TP_ARGS(local, sdata, conf),
sdata            1813 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1815 net/mac80211/trace.h 	TP_ARGS(local, sdata),
sdata            1835 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1839 net/mac80211/trace.h 	TP_ARGS(local, sdata, conf, changes),
sdata            1866 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1869 net/mac80211/trace.h 	TP_ARGS(local, sdata, func),
sdata            1893 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            1896 net/mac80211/trace.h 	TP_ARGS(local, sdata, instance_id),
sdata            1918 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1919 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1924 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            1925 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            1954 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata, const u8 *ra, u16 tid),
sdata            1956 net/mac80211/trace.h 	TP_ARGS(sdata, ra, tid),
sdata            1998 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata, const u8 *ra, u16 tid),
sdata            2000 net/mac80211/trace.h 	TP_ARGS(sdata, ra, tid),
sdata            2026 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata),
sdata            2028 net/mac80211/trace.h 	TP_ARGS(sdata),
sdata            2045 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata),
sdata            2047 net/mac80211/trace.h 	TP_ARGS(sdata),
sdata            2064 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
sdata            2068 net/mac80211/trace.h 	TP_ARGS(sdata, rssi_event, rssi_level),
sdata            2090 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata),
sdata            2091 net/mac80211/trace.h 	TP_ARGS(local, sdata)
sdata            2176 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata, bool success),
sdata            2178 net/mac80211/trace.h 	TP_ARGS(sdata, success),
sdata            2207 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
sdata            2210 net/mac80211/trace.h 	TP_ARGS(sdata, bssid, replay_ctr),
sdata            2228 net/mac80211/trace.h 	TP_PROTO(struct ieee80211_sub_if_data *sdata,
sdata            2231 net/mac80211/trace.h 	TP_ARGS(sdata, rssi_min_thold, rssi_max_thold),
sdata            2380 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2383 net/mac80211/trace.h 	TP_ARGS(local, sdata, key_idx),
sdata            2422 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2425 net/mac80211/trace.h 	TP_ARGS(local, sdata, chandef),
sdata            2447 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2450 net/mac80211/trace.h 	TP_ARGS(local, sdata, ch_switch),
sdata            2482 net/mac80211/trace.h 		      struct ieee80211_sub_if_data *sdata),
sdata            2483 net/mac80211/trace.h 	     TP_ARGS(local, sdata)
sdata            2488 net/mac80211/trace.h 		      struct ieee80211_sub_if_data *sdata),
sdata            2489 net/mac80211/trace.h 	     TP_ARGS(local, sdata)
sdata            2494 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2497 net/mac80211/trace.h 	TP_ARGS(local, sdata, ch_switch),
sdata            2530 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2533 net/mac80211/trace.h 	TP_ARGS(local, sdata, dbm, ret),
sdata            2557 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2561 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta, oper_class, chandef),
sdata            2589 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2592 net/mac80211/trace.h 	TP_ARGS(local, sdata, sta),
sdata            2615 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2618 net/mac80211/trace.h 	TP_ARGS(local, sdata, params),
sdata            2659 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2662 net/mac80211/trace.h 	TP_ARGS(local, sdata, txq),
sdata            2690 net/mac80211/trace.h 		 struct ieee80211_sub_if_data *sdata,
sdata            2693 net/mac80211/trace.h 	TP_ARGS(local, sdata, ftm_stats),
sdata              69 net/mac80211/tx.c 	chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf);
sdata             150 net/mac80211/tx.c 		if (tx->sdata->vif.bss_conf.basic_rates & BIT(i))
sdata             156 net/mac80211/tx.c 			if (tx->sdata->flags & IEEE80211_SDATA_OPERATING_GMODE)
sdata             191 net/mac80211/tx.c 				tx->sdata->vif.bss_conf.use_short_preamble,
sdata             201 net/mac80211/tx.c 				tx->sdata->vif.bss_conf.use_short_preamble,
sdata             240 net/mac80211/tx.c 	if (tx->sdata->vif.type != NL80211_IFTYPE_STATION)
sdata             246 net/mac80211/tx.c 	ifmgd = &tx->sdata->u.mgd;
sdata             298 net/mac80211/tx.c 	    test_bit(SDATA_STATE_OFFCHANNEL, &tx->sdata->state) &&
sdata             314 net/mac80211/tx.c 	if (tx->sdata->vif.type == NL80211_IFTYPE_OCB)
sdata             317 net/mac80211/tx.c 	if (tx->sdata->vif.type == NL80211_IFTYPE_WDS)
sdata             330 net/mac80211/tx.c 			sdata_info(tx->sdata,
sdata             338 net/mac80211/tx.c 			    ieee80211_vif_get_num_mcast_if(tx->sdata) == 0)) {
sdata             357 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata             360 net/mac80211/tx.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             363 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata             364 net/mac80211/tx.c 			ps = &sdata->u.ap.ps;
sdata             365 net/mac80211/tx.c 		else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata             366 net/mac80211/tx.c 			ps = &sdata->u.mesh.ps;
sdata             416 net/mac80211/tx.c 	if (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             417 net/mac80211/tx.c 	    tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata             418 net/mac80211/tx.c 		if (!tx->sdata->bss)
sdata             421 net/mac80211/tx.c 		ps = &tx->sdata->bss->ps;
sdata             422 net/mac80211/tx.c 	} else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) {
sdata             423 net/mac80211/tx.c 		ps = &tx->sdata->u.mesh.ps;
sdata             437 net/mac80211/tx.c 		info->hw_queue = tx->sdata->vif.cab_queue;
sdata             454 net/mac80211/tx.c 		ps_dbg(tx->sdata,
sdata             503 net/mac80211/tx.c 		ps_dbg(sta->sdata, "STA %pM aid %d: PS buffer for AC %d\n",
sdata             524 net/mac80211/tx.c 			ps_dbg(tx->sdata,
sdata             532 net/mac80211/tx.c 		info->control.vif = &tx->sdata->vif;
sdata             551 net/mac80211/tx.c 		ps_dbg(tx->sdata,
sdata             576 net/mac80211/tx.c 	if (unlikely(tx->sdata->control_port_protocol == tx->skb->protocol)) {
sdata             577 net/mac80211/tx.c 		if (tx->sdata->control_port_no_encrypt)
sdata             602 net/mac80211/tx.c 		(key = rcu_dereference(tx->sdata->default_multicast_key)))
sdata             607 net/mac80211/tx.c 		 (key = rcu_dereference(tx->sdata->default_mgmt_key)))
sdata             610 net/mac80211/tx.c 		 (key = rcu_dereference(tx->sdata->default_multicast_key)))
sdata             613 net/mac80211/tx.c 		 (key = rcu_dereference(tx->sdata->default_unicast_key)))
sdata             689 net/mac80211/tx.c 	txrc.bss_conf = &tx->sdata->vif.bss_conf;
sdata             692 net/mac80211/tx.c 	txrc.rate_idx_mask = tx->sdata->rc_rateidx_mask[info->band];
sdata             694 net/mac80211/tx.c 	if (tx->sdata->rc_has_mcs_mask[info->band])
sdata             696 net/mac80211/tx.c 			tx->sdata->rc_rateidx_mcs_mask[info->band];
sdata             698 net/mac80211/tx.c 	txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
sdata             699 net/mac80211/tx.c 		    tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
sdata             700 net/mac80211/tx.c 		    tx->sdata->vif.type == NL80211_IFTYPE_ADHOC ||
sdata             701 net/mac80211/tx.c 		    tx->sdata->vif.type == NL80211_IFTYPE_OCB);
sdata             709 net/mac80211/tx.c 	info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot;
sdata             717 net/mac80211/tx.c 	if (tx->sdata->vif.bss_conf.use_short_preamble &&
sdata             740 net/mac80211/tx.c 		 tx->sdata->name, hdr->addr1,
sdata             748 net/mac80211/tx.c 	rate_control_get_rate(tx->sdata, tx->sta, &txrc);
sdata             840 net/mac80211/tx.c 		hdr->seq_ctrl = cpu_to_le16(tx->sdata->sequence_number);
sdata             841 net/mac80211/tx.c 		tx->sdata->sequence_number += 0x10;
sdata             888 net/mac80211/tx.c 				    tx->sdata->encrypt_headroom +
sdata             896 net/mac80211/tx.c 			    local->tx_headroom + tx->sdata->encrypt_headroom);
sdata            1130 net/mac80211/tx.c 				ps_dbg(tx->sta->sdata,
sdata            1134 net/mac80211/tx.c 			info->control.vif = &tx->sdata->vif;
sdata            1160 net/mac80211/tx.c ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
sdata            1164 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            1172 net/mac80211/tx.c 	tx->sdata = sdata;
sdata            1188 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata            1189 net/mac80211/tx.c 			tx->sta = rcu_dereference(sdata->u.vlan.sta);
sdata            1190 net/mac80211/tx.c 			if (!tx->sta && sdata->wdev.use_4addr)
sdata            1194 net/mac80211/tx.c 			   tx->sdata->control_port_protocol == tx->skb->protocol) {
sdata            1195 net/mac80211/tx.c 			tx->sta = sta_info_get_bss(sdata, hdr->addr1);
sdata            1198 net/mac80211/tx.c 			tx->sta = sta_info_get(sdata, hdr->addr1);
sdata            1426 net/mac80211/tx.c 			       struct ieee80211_sub_if_data *sdata)
sdata            1433 net/mac80211/tx.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN))
sdata            1436 net/mac80211/tx.c 	ap = container_of(sdata->bss, struct ieee80211_sub_if_data, u.ap);
sdata            1445 net/mac80211/tx.c 	fq_tin_filter(fq, tin, fq_vlan_filter_func, &sdata->vif,
sdata            1450 net/mac80211/tx.c void ieee80211_txq_init(struct ieee80211_sub_if_data *sdata,
sdata            1461 net/mac80211/tx.c 	txqi->txq.vif = &sdata->vif;
sdata            1464 net/mac80211/tx.c 		sdata->vif.txq = &txqi->txq;
sdata            1472 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION) {
sdata            1474 net/mac80211/tx.c 			if (!ieee80211_hw_check(&sdata->local->hw,
sdata            1477 net/mac80211/tx.c 		} else if (!ieee80211_hw_check(&sdata->local->hw,
sdata            1596 net/mac80211/tx.c 				struct ieee80211_sub_if_data *sdata,
sdata            1604 net/mac80211/tx.c 	    sdata->vif.type == NL80211_IFTYPE_MONITOR)
sdata            1607 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            1608 net/mac80211/tx.c 		sdata = container_of(sdata->bss,
sdata            1611 net/mac80211/tx.c 	vif = &sdata->vif;
sdata            1705 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata            1718 net/mac80211/tx.c 	sdata = vif_to_sdata(info->control.vif);
sdata            1727 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            1729 net/mac80211/tx.c 		if (sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE) {
sdata            1730 net/mac80211/tx.c 			vif = &sdata->vif;
sdata            1733 net/mac80211/tx.c 		sdata = rcu_dereference(local->monitor_sdata);
sdata            1734 net/mac80211/tx.c 		if (sdata) {
sdata            1735 net/mac80211/tx.c 			vif = &sdata->vif;
sdata            1745 net/mac80211/tx.c 		sdata = container_of(sdata->bss,
sdata            1749 net/mac80211/tx.c 		vif = &sdata->vif;
sdata            1860 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            1865 net/mac80211/tx.c 	if (ieee80211_tx_prepare(sdata, &tx, NULL, skb) == TX_DROP)
sdata            1897 net/mac80211/tx.c static bool ieee80211_tx(struct ieee80211_sub_if_data *sdata,
sdata            1901 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            1915 net/mac80211/tx.c 	res_prepare = ieee80211_tx_prepare(sdata, &tx, sta, skb);
sdata            1930 net/mac80211/tx.c 			sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
sdata            1935 net/mac80211/tx.c 	if (ieee80211_queue_skb(local, sdata, tx.sta, tx.skb))
sdata            1947 net/mac80211/tx.c static int ieee80211_skb_resize(struct ieee80211_sub_if_data *sdata,
sdata            1951 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            1958 net/mac80211/tx.c 		       (sdata->crypto_tx_tailroom_needed_cnt ||
sdata            1985 net/mac80211/tx.c void ieee80211_xmit(struct ieee80211_sub_if_data *sdata,
sdata            1989 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            1999 net/mac80211/tx.c 		headroom += sdata->encrypt_headroom;
sdata            2003 net/mac80211/tx.c 	if (ieee80211_skb_resize(sdata, skb, headroom, may_encrypt)) {
sdata            2009 net/mac80211/tx.c 	info->control.vif = &sdata->vif;
sdata            2011 net/mac80211/tx.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            2014 net/mac80211/tx.c 			if (mesh_nexthop_resolve(sdata, skb))
sdata            2017 net/mac80211/tx.c 			ieee80211_mps_set_frame_flags(sdata, NULL, hdr);
sdata            2021 net/mac80211/tx.c 	ieee80211_set_qos_hdr(sdata, skb);
sdata            2022 net/mac80211/tx.c 	ieee80211_tx(sdata, sta, skb, false, txdata_flags);
sdata            2216 net/mac80211/tx.c 	struct ieee80211_sub_if_data *tmp_sdata, *sdata;
sdata            2296 net/mac80211/tx.c 	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            2306 net/mac80211/tx.c 			sdata = tmp_sdata;
sdata            2311 net/mac80211/tx.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2343 net/mac80211/tx.c 				     sdata->vif.type))
sdata            2352 net/mac80211/tx.c 	ieee80211_xmit(sdata, NULL, skb, 0);
sdata            2373 net/mac80211/tx.c static int ieee80211_lookup_ra_sta(struct ieee80211_sub_if_data *sdata,
sdata            2379 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            2381 net/mac80211/tx.c 		sta = rcu_dereference(sdata->u.vlan.sta);
sdata            2385 net/mac80211/tx.c 		} else if (sdata->wdev.use_4addr) {
sdata            2396 net/mac80211/tx.c 		sta = sta_info_get_bss(sdata, skb->data);
sdata            2399 net/mac80211/tx.c 		sta = sta_info_get(sdata, sdata->u.wds.remote_addr);
sdata            2408 net/mac80211/tx.c 		if (sdata->wdev.wiphy->flags & WIPHY_FLAG_SUPPORTS_TDLS) {
sdata            2409 net/mac80211/tx.c 			sta = sta_info_get(sdata, skb->data);
sdata            2430 net/mac80211/tx.c 		sta = sta_info_get(sdata, sdata->u.mgd.bssid);
sdata            2461 net/mac80211/tx.c static struct sk_buff *ieee80211_build_hdr(struct ieee80211_sub_if_data *sdata,
sdata            2465 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            2497 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            2499 net/mac80211/tx.c 		if (sdata->wdev.use_4addr) {
sdata            2503 net/mac80211/tx.c 			memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
sdata            2510 net/mac80211/tx.c 		ap_sdata = container_of(sdata->bss, struct ieee80211_sub_if_data,
sdata            2518 net/mac80211/tx.c 		if (sdata->wdev.use_4addr)
sdata            2522 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            2523 net/mac80211/tx.c 			chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2531 net/mac80211/tx.c 		memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
sdata            2539 net/mac80211/tx.c 		memcpy(hdr.addr1, sdata->u.wds.remote_addr, ETH_ALEN);
sdata            2540 net/mac80211/tx.c 		memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
sdata            2556 net/mac80211/tx.c 			mpath = mesh_path_lookup(sdata, skb->data);
sdata            2567 net/mac80211/tx.c 				mppath = mpp_path_lookup(sdata, skb->data);
sdata            2573 net/mac80211/tx.c 				mesh_path_del(sdata, mpath->dst);
sdata            2582 net/mac80211/tx.c 		if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) &&
sdata            2586 net/mac80211/tx.c 			meshhdrlen = ieee80211_new_mesh_header(sdata, &mesh_hdr,
sdata            2603 net/mac80211/tx.c 					mesh_da, sdata->vif.addr);
sdata            2607 net/mac80211/tx.c 						sdata, &mesh_hdr,
sdata            2612 net/mac80211/tx.c 						sdata, &mesh_hdr, skb->data,
sdata            2616 net/mac80211/tx.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2639 net/mac80211/tx.c 			memcpy(hdr.addr3, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2641 net/mac80211/tx.c 		}  else if (sdata->u.mgd.use_4addr &&
sdata            2642 net/mac80211/tx.c 			    cpu_to_be16(ethertype) != sdata->control_port_protocol) {
sdata            2646 net/mac80211/tx.c 			memcpy(hdr.addr1, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2647 net/mac80211/tx.c 			memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
sdata            2654 net/mac80211/tx.c 			memcpy(hdr.addr1, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2659 net/mac80211/tx.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2672 net/mac80211/tx.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2683 net/mac80211/tx.c 		memcpy(hdr.addr3, sdata->u.ibss.bssid, ETH_ALEN);
sdata            2685 net/mac80211/tx.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2703 net/mac80211/tx.c 	} else if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            2718 net/mac80211/tx.c 	if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) &&
sdata            2719 net/mac80211/tx.c 		     (sdata->vif.type != NL80211_IFTYPE_OCB) &&
sdata            2721 net/mac80211/tx.c 		     (cpu_to_be16(ethertype) != sdata->control_port_protocol ||
sdata            2722 net/mac80211/tx.c 		      !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) {
sdata            2725 net/mac80211/tx.c 				    sdata->name, hdr.addr1);
sdata            2808 net/mac80211/tx.c 		head_need += sdata->encrypt_headroom;
sdata            2811 net/mac80211/tx.c 		if (ieee80211_skb_resize(sdata, skb, head_need, true)) {
sdata            2880 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            2903 net/mac80211/tx.c 	    sdata->vif.type == NL80211_IFTYPE_STATION)
sdata            2915 net/mac80211/tx.c 	if (sdata->noack_map)
sdata            2924 net/mac80211/tx.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            2934 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            2939 net/mac80211/tx.c 		memcpy(hdr->addr3, sdata->u.ibss.bssid, ETH_ALEN);
sdata            2947 net/mac80211/tx.c 			memcpy(hdr->addr3, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2952 net/mac80211/tx.c 		if (sdata->u.mgd.use_4addr) {
sdata            2957 net/mac80211/tx.c 			memcpy(hdr->addr1, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2958 net/mac80211/tx.c 			memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata            2966 net/mac80211/tx.c 		memcpy(hdr->addr1, sdata->u.mgd.bssid, ETH_ALEN);
sdata            2972 net/mac80211/tx.c 		if (sdata->wdev.use_4addr) {
sdata            2977 net/mac80211/tx.c 			memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata            2988 net/mac80211/tx.c 		memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
sdata            3009 net/mac80211/tx.c 		build.key = rcu_access_pointer(sdata->default_unicast_key);
sdata            3114 net/mac80211/tx.c void ieee80211_check_fast_xmit_iface(struct ieee80211_sub_if_data *sdata)
sdata            3116 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            3122 net/mac80211/tx.c 		if (sdata != sta->sdata &&
sdata            3123 net/mac80211/tx.c 		    (!sta->sdata->bss || sta->sdata->bss != sdata->bss))
sdata            3161 net/mac80211/tx.c static bool ieee80211_amsdu_prepare_head(struct ieee80211_sub_if_data *sdata,
sdata            3165 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            3200 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            3202 net/mac80211/tx.c 		bssid = sdata->u.mgd.bssid;
sdata            3206 net/mac80211/tx.c 		bssid = sdata->vif.addr;
sdata            3226 net/mac80211/tx.c static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
sdata            3231 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            3312 net/mac80211/tx.c 	if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
sdata            3363 net/mac80211/tx.c static void ieee80211_xmit_fast_finish(struct ieee80211_sub_if_data *sdata,
sdata            3382 net/mac80211/tx.c 		hdr->seq_ctrl = cpu_to_le16(sdata->sequence_number);
sdata            3383 net/mac80211/tx.c 		sdata->sequence_number += 0x10;
sdata            3392 net/mac80211/tx.c 	info->hw_queue = sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
sdata            3422 net/mac80211/tx.c static bool ieee80211_xmit_fast(struct ieee80211_sub_if_data *sdata,
sdata            3427 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            3430 net/mac80211/tx.c 	int hw_headroom = sdata->local->hw.extra_tx_headroom;
sdata            3440 net/mac80211/tx.c 	if (cpu_to_be16(ethertype) == sdata->control_port_protocol)
sdata            3475 net/mac80211/tx.c 	    ieee80211_amsdu_aggregate(sdata, sta, fast_tx, skb))
sdata            3482 net/mac80211/tx.c 	if (unlikely(ieee80211_skb_resize(sdata, skb,
sdata            3499 net/mac80211/tx.c 	info->control.vif = &sdata->vif;
sdata            3519 net/mac80211/tx.c 	tx.sdata = sdata;
sdata            3536 net/mac80211/tx.c 	if (ieee80211_queue_skb(local, sdata, sta, skb))
sdata            3539 net/mac80211/tx.c 	ieee80211_xmit_fast_finish(sdata, sta, fast_tx->pn_offs,
sdata            3542 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
sdata            3543 net/mac80211/tx.c 		sdata = container_of(sdata->bss,
sdata            3547 net/mac80211/tx.c 	ieee80211_tx_frags(local, &sdata->vif, &sta->sta, &tx.skbs, false);
sdata            3597 net/mac80211/tx.c 	tx.sdata = vif_to_sdata(info->control.vif);
sdata            3606 net/mac80211/tx.c 			     !ieee80211_vif_is_mesh(&tx.sdata->vif) &&
sdata            3607 net/mac80211/tx.c 			     tx.sdata->vif.type != NL80211_IFTYPE_OCB &&
sdata            3612 net/mac80211/tx.c 			      !ether_addr_equal(tx.sdata->vif.addr,
sdata            3644 net/mac80211/tx.c 		ieee80211_xmit_fast_finish(sta->sdata, sta, pn_offs,
sdata            3667 net/mac80211/tx.c 	switch (tx.sdata->vif.type) {
sdata            3669 net/mac80211/tx.c 		if (tx.sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE) {
sdata            3670 net/mac80211/tx.c 			vif = &tx.sdata->vif;
sdata            3673 net/mac80211/tx.c 		tx.sdata = rcu_dereference(local->monitor_sdata);
sdata            3674 net/mac80211/tx.c 		if (tx.sdata) {
sdata            3675 net/mac80211/tx.c 			vif = &tx.sdata->vif;
sdata            3686 net/mac80211/tx.c 		tx.sdata = container_of(tx.sdata->bss,
sdata            3690 net/mac80211/tx.c 		vif = &tx.sdata->vif;
sdata            3844 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3845 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            3856 net/mac80211/tx.c 	if (ieee80211_lookup_ra_sta(sdata, skb, &sta))
sdata            3863 net/mac80211/tx.c 		u16 queue = __ieee80211_select_queue(sdata, sta, skb);
sdata            3870 net/mac80211/tx.c 		sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
sdata            3875 net/mac80211/tx.c 		    ieee80211_xmit_fast(sdata, sta, fast_tx, skb))
sdata            3916 net/mac80211/tx.c 		skb = ieee80211_build_hdr(sdata, skb, info_flags,
sdata            3923 net/mac80211/tx.c 		ieee80211_xmit(sdata, sta, skb, 0);
sdata            3950 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3958 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            3960 net/mac80211/tx.c 		if (sdata->u.vlan.sta)
sdata            3962 net/mac80211/tx.c 		if (sdata->wdev.use_4addr)
sdata            3967 net/mac80211/tx.c 		if (!sdata->bss->multicast_to_unicast)
sdata            3994 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            3995 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            4003 net/mac80211/tx.c 		if (sdata != sta->sdata)
sdata            4066 net/mac80211/tx.c ieee80211_build_data_template(struct ieee80211_sub_if_data *sdata,
sdata            4071 net/mac80211/tx.c 		.local = sdata->local,
sdata            4072 net/mac80211/tx.c 		.sdata = sdata,
sdata            4078 net/mac80211/tx.c 	if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) {
sdata            4084 net/mac80211/tx.c 	skb = ieee80211_build_hdr(sdata, skb, info_flags, sta, 0);
sdata            4089 net/mac80211/tx.c 	tx.sta = sta_info_get(sdata, hdr->addr1);
sdata            4127 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata            4133 net/mac80211/tx.c 	sdata = vif_to_sdata(info->control.vif);
sdata            4136 net/mac80211/tx.c 		chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            4142 net/mac80211/tx.c 		result = ieee80211_tx(sdata, NULL, skb, true, 0);
sdata            4150 net/mac80211/tx.c 		sta = sta_info_get(sdata, hdr->addr1);
sdata            4209 net/mac80211/tx.c static void __ieee80211_beacon_add_tim(struct ieee80211_sub_if_data *sdata,
sdata            4226 net/mac80211/tx.c 			ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1;
sdata            4235 net/mac80211/tx.c 	*pos++ = sdata->vif.bss_conf.dtim_period;
sdata            4274 net/mac80211/tx.c static int ieee80211_beacon_add_tim(struct ieee80211_sub_if_data *sdata,
sdata            4278 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            4288 net/mac80211/tx.c 		__ieee80211_beacon_add_tim(sdata, ps, skb, is_template);
sdata            4291 net/mac80211/tx.c 		__ieee80211_beacon_add_tim(sdata, ps, skb, is_template);
sdata            4298 net/mac80211/tx.c static void ieee80211_set_csa(struct ieee80211_sub_if_data *sdata,
sdata            4307 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            4326 net/mac80211/tx.c 		resp = rcu_dereference(sdata->u.ap.probe_resp);
sdata            4338 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP && resp)
sdata            4356 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            4362 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            4363 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.ap.beacon);
sdata            4364 net/mac80211/tx.c 	else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata            4365 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.ibss.presp);
sdata            4366 net/mac80211/tx.c 	else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            4367 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.mesh.beacon);
sdata            4382 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            4387 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            4388 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.ap.beacon);
sdata            4389 net/mac80211/tx.c 	else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
sdata            4390 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.ibss.presp);
sdata            4391 net/mac80211/tx.c 	else if (ieee80211_vif_is_mesh(&sdata->vif))
sdata            4392 net/mac80211/tx.c 		beacon = rcu_dereference(sdata->u.mesh.beacon);
sdata            4407 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            4413 net/mac80211/tx.c 	if (!ieee80211_sdata_running(sdata))
sdata            4418 net/mac80211/tx.c 		struct ieee80211_if_ap *ap = &sdata->u.ap;
sdata            4426 net/mac80211/tx.c 		struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            4435 net/mac80211/tx.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            4473 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = NULL;
sdata            4481 net/mac80211/tx.c 	sdata = vif_to_sdata(vif);
sdata            4482 net/mac80211/tx.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            4484 net/mac80211/tx.c 	if (!ieee80211_sdata_running(sdata) || !chanctx_conf)
sdata            4490 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            4491 net/mac80211/tx.c 		struct ieee80211_if_ap *ap = &sdata->u.ap;
sdata            4499 net/mac80211/tx.c 				ieee80211_set_csa(sdata, beacon);
sdata            4516 net/mac80211/tx.c 			ieee80211_beacon_add_tim(sdata, &ap->ps, skb,
sdata            4532 net/mac80211/tx.c 	} else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
sdata            4533 net/mac80211/tx.c 		struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            4544 net/mac80211/tx.c 			ieee80211_set_csa(sdata, beacon);
sdata            4557 net/mac80211/tx.c 	} else if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            4558 net/mac80211/tx.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            4573 net/mac80211/tx.c 			ieee80211_set_csa(sdata, beacon);
sdata            4577 net/mac80211/tx.c 			ifmsh->sync_ops->adjust_tsf(sdata, beacon);
sdata            4588 net/mac80211/tx.c 		ieee80211_beacon_add_tim(sdata, &ifmsh->ps, skb, is_template);
sdata            4626 net/mac80211/tx.c 	txrc.bss_conf = &sdata->vif.bss_conf;
sdata            4629 net/mac80211/tx.c 	txrc.rate_idx_mask = sdata->rc_rateidx_mask[band];
sdata            4631 net/mac80211/tx.c 	rate_control_get_rate(sdata, NULL, &txrc);
sdata            4700 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            4702 net/mac80211/tx.c 	if (sdata->vif.type != NL80211_IFTYPE_AP)
sdata            4707 net/mac80211/tx.c 	ap = &sdata->u.ap;
sdata            4730 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata            4739 net/mac80211/tx.c 	sdata = vif_to_sdata(vif);
sdata            4740 net/mac80211/tx.c 	ifmgd = &sdata->u.mgd;
sdata            4741 net/mac80211/tx.c 	local = sdata->local;
sdata            4769 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata            4778 net/mac80211/tx.c 	sdata = vif_to_sdata(vif);
sdata            4779 net/mac80211/tx.c 	ifmgd = &sdata->u.mgd;
sdata            4780 net/mac80211/tx.c 	local = sdata->local;
sdata            4786 net/mac80211/tx.c 		sta = sta_info_get(sdata, ifmgd->bssid);
sdata            4899 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata;
sdata            4904 net/mac80211/tx.c 	sdata = vif_to_sdata(vif);
sdata            4907 net/mac80211/tx.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            4912 net/mac80211/tx.c 	if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            4914 net/mac80211/tx.c 				rcu_dereference(sdata->u.ap.beacon);
sdata            4919 net/mac80211/tx.c 		ps = &sdata->u.ap.ps;
sdata            4920 net/mac80211/tx.c 	} else if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            4921 net/mac80211/tx.c 		ps = &sdata->u.mesh.ps;
sdata            4945 net/mac80211/tx.c 		if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            4946 net/mac80211/tx.c 			sdata = IEEE80211_DEV_TO_SUB_IF(skb->dev);
sdata            4947 net/mac80211/tx.c 		if (!ieee80211_tx_prepare(sdata, &tx, NULL, skb))
sdata            4969 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            4970 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            4977 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            4996 net/mac80211/tx.c 		sdata_err(sdata, "TID reservation already active\n");
sdata            5001 net/mac80211/tx.c 	ieee80211_stop_vif_queues(sdata->local, sdata,
sdata            5013 net/mac80211/tx.c 	queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]);
sdata            5014 net/mac80211/tx.c 	__ieee80211_flush_queues(local, sdata, queues, false);
sdata            5018 net/mac80211/tx.c 	ieee80211_wake_vif_queues(local, sdata,
sdata            5033 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata            5035 net/mac80211/tx.c 	lockdep_assert_held(&sdata->local->sta_mtx);
sdata            5038 net/mac80211/tx.c 	switch (sdata->vif.type) {
sdata            5049 net/mac80211/tx.c 		sdata_err(sdata, "TID to unreserve (%d) isn't reserved\n", tid);
sdata            5057 net/mac80211/tx.c void __ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
sdata            5067 net/mac80211/tx.c 	skb->dev = sdata->dev;
sdata            5076 net/mac80211/tx.c 	ieee80211_xmit(sdata, NULL, skb, txdata_flags);
sdata            5084 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            5085 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata            5094 net/mac80211/tx.c 	if (proto != sdata->control_port_protocol &&
sdata            5098 net/mac80211/tx.c 	if (proto == sdata->control_port_protocol)
sdata            5117 net/mac80211/tx.c 	memcpy(ehdr->h_source, sdata->vif.addr, ETH_ALEN);
sdata            5135 net/mac80211/tx.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
sdata            5136 net/mac80211/tx.c 	struct ieee80211_local *local = sdata->local;
sdata             134 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             141 net/mac80211/util.c 		sdata = vif_to_sdata(vif);
sdata             142 net/mac80211/util.c 		short_preamble = sdata->vif.bss_conf.use_short_preamble;
sdata             143 net/mac80211/util.c 		if (sdata->flags & IEEE80211_SDATA_OPERATING_GMODE)
sdata             161 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             175 net/mac80211/util.c 		sdata = vif_to_sdata(vif);
sdata             176 net/mac80211/util.c 		short_preamble = sdata->vif.bss_conf.use_short_preamble;
sdata             177 net/mac80211/util.c 		if (sdata->flags & IEEE80211_SDATA_OPERATING_GMODE)
sdata             205 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             218 net/mac80211/util.c 		sdata = vif_to_sdata(vif);
sdata             219 net/mac80211/util.c 		short_preamble = sdata->vif.bss_conf.use_short_preamble;
sdata             220 net/mac80211/util.c 		if (sdata->flags & IEEE80211_SDATA_OPERATING_GMODE)
sdata             240 net/mac80211/util.c static void __ieee80211_wake_txqs(struct ieee80211_sub_if_data *sdata, int ac)
sdata             242 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata             243 net/mac80211/util.c 	struct ieee80211_vif *vif = &sdata->vif;
sdata             253 net/mac80211/util.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata             254 net/mac80211/util.c 		ps = &sdata->bss->ps;
sdata             256 net/mac80211/util.c 	sdata->vif.txqs_stopped[ac] = false;
sdata             259 net/mac80211/util.c 		if (sdata != sta->sdata)
sdata             307 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             321 net/mac80211/util.c 		list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             325 net/mac80211/util.c 				int ac_queue = sdata->vif.hw_queue[ac];
sdata             328 net/mac80211/util.c 				    sdata->vif.cab_queue == i)
sdata             329 net/mac80211/util.c 					__ieee80211_wake_txqs(sdata, ac);
sdata             350 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             359 net/mac80211/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             362 net/mac80211/util.c 		if (!sdata->dev)
sdata             365 net/mac80211/util.c 		if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE &&
sdata             366 net/mac80211/util.c 		    local->queue_stop_reasons[sdata->vif.cab_queue] != 0)
sdata             370 net/mac80211/util.c 			int ac_queue = sdata->vif.hw_queue[ac];
sdata             373 net/mac80211/util.c 			    (sdata->vif.cab_queue == queue &&
sdata             376 net/mac80211/util.c 				netif_wake_subqueue(sdata->dev, ac);
sdata             458 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             478 net/mac80211/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             481 net/mac80211/util.c 		if (!sdata->dev)
sdata             485 net/mac80211/util.c 			if (sdata->vif.hw_queue[ac] == queue ||
sdata             486 net/mac80211/util.c 			    sdata->vif.cab_queue == queue) {
sdata             488 net/mac80211/util.c 					netif_stop_subqueue(sdata->dev, ac);
sdata             492 net/mac80211/util.c 				sdata->vif.txqs_stopped[ac] = true;
sdata             644 net/mac80211/util.c 			 struct ieee80211_sub_if_data *sdata)
sdata             648 net/mac80211/util.c 	if (sdata && ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) {
sdata             654 net/mac80211/util.c 			queues |= BIT(sdata->vif.hw_queue[ac]);
sdata             655 net/mac80211/util.c 		if (sdata->vif.cab_queue != IEEE80211_INVAL_HW_QUEUE)
sdata             656 net/mac80211/util.c 			queues |= BIT(sdata->vif.cab_queue);
sdata             666 net/mac80211/util.c 			      struct ieee80211_sub_if_data *sdata,
sdata             677 net/mac80211/util.c 		queues = ieee80211_get_vif_queues(local, sdata);
sdata             683 net/mac80211/util.c 	drv_flush(local, sdata, queues, drop);
sdata             691 net/mac80211/util.c 			    struct ieee80211_sub_if_data *sdata, bool drop)
sdata             693 net/mac80211/util.c 	__ieee80211_flush_queues(local, sdata, 0, drop);
sdata             697 net/mac80211/util.c 			       struct ieee80211_sub_if_data *sdata,
sdata             701 net/mac80211/util.c 					ieee80211_get_vif_queues(local, sdata),
sdata             706 net/mac80211/util.c 			       struct ieee80211_sub_if_data *sdata,
sdata             710 net/mac80211/util.c 					ieee80211_get_vif_queues(local, sdata),
sdata             720 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             723 net/mac80211/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             724 net/mac80211/util.c 		switch (sdata->vif.type) {
sdata             726 net/mac80211/util.c 			if (!(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))
sdata             735 net/mac80211/util.c 		    active_only && !(sdata->flags & IEEE80211_SDATA_IN_DRIVER))
sdata             737 net/mac80211/util.c 		if (ieee80211_sdata_running(sdata) || !active_only)
sdata             738 net/mac80211/util.c 			iterator(data, sdata->vif.addr,
sdata             739 net/mac80211/util.c 				 &sdata->vif);
sdata             742 net/mac80211/util.c 	sdata = rcu_dereference_check(local->monitor_sdata,
sdata             745 net/mac80211/util.c 	if (sdata &&
sdata             747 net/mac80211/util.c 	     sdata->flags & IEEE80211_SDATA_IN_DRIVER))
sdata             748 net/mac80211/util.c 		iterator(data, sdata->vif.addr, &sdata->vif);
sdata             825 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
sdata             827 net/mac80211/util.c 	if (!ieee80211_sdata_running(sdata) ||
sdata             828 net/mac80211/util.c 	    !(sdata->flags & IEEE80211_SDATA_IN_DRIVER))
sdata             830 net/mac80211/util.c 	return &sdata->vif;
sdata             836 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata             841 net/mac80211/util.c 	sdata = vif_to_sdata(vif);
sdata             843 net/mac80211/util.c 	if (!ieee80211_sdata_running(sdata) ||
sdata             844 net/mac80211/util.c 	    !(sdata->flags & IEEE80211_SDATA_IN_DRIVER))
sdata             847 net/mac80211/util.c 	return &sdata->wdev;
sdata            1400 net/mac80211/util.c void ieee80211_regulatory_limit_wmm_params(struct ieee80211_sub_if_data *sdata,
sdata            1409 net/mac80211/util.c 	if (sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            1410 net/mac80211/util.c 	    sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            1414 net/mac80211/util.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1423 net/mac80211/util.c 	rrule = freq_reg_info(sdata->wdev.wiphy, MHZ_TO_KHZ(center_freq));
sdata            1430 net/mac80211/util.c 	if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata            1441 net/mac80211/util.c void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
sdata            1444 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            1461 net/mac80211/util.c 	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
sdata            1464 net/mac80211/util.c 		 !(sdata->flags & IEEE80211_SDATA_OPERATING_GMODE);
sdata            1467 net/mac80211/util.c 	is_ocb = (sdata->vif.type == NL80211_IFTYPE_OCB);
sdata            1534 net/mac80211/util.c 		ieee80211_regulatory_limit_wmm_params(sdata, &qparam, ac);
sdata            1538 net/mac80211/util.c 		sdata->tx_conf[ac] = qparam;
sdata            1539 net/mac80211/util.c 		drv_conf_tx(local, sdata, ac, &qparam);
sdata            1542 net/mac80211/util.c 	if (sdata->vif.type != NL80211_IFTYPE_MONITOR &&
sdata            1543 net/mac80211/util.c 	    sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE &&
sdata            1544 net/mac80211/util.c 	    sdata->vif.type != NL80211_IFTYPE_NAN) {
sdata            1545 net/mac80211/util.c 		sdata->vif.bss_conf.qos = enable_qos;
sdata            1547 net/mac80211/util.c 			ieee80211_bss_info_change_notify(sdata,
sdata            1552 net/mac80211/util.c void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
sdata            1558 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            1575 net/mac80211/util.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata            1591 net/mac80211/util.c 	ieee80211_tx_skb(sdata, skb);
sdata            1594 net/mac80211/util.c void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
sdata            1599 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            1608 net/mac80211/util.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata            1624 net/mac80211/util.c 		if (sdata->vif.type != NL80211_IFTYPE_STATION ||
sdata            1625 net/mac80211/util.c 		    !(sdata->u.mgd.flags & IEEE80211_STA_MFP_ENABLED))
sdata            1629 net/mac80211/util.c 		ieee80211_tx_skb(sdata, skb);
sdata            1876 net/mac80211/util.c struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
sdata            1884 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            1897 net/mac80211/util.c 	chandef.width = sdata->vif.bss_conf.chandef.width;
sdata            1926 net/mac80211/util.c u32 ieee80211_sta_get_rates(struct ieee80211_sub_if_data *sdata,
sdata            1935 net/mac80211/util.c 	sband = sdata->local->hw.wiphy->bands[band];
sdata            1939 net/mac80211/util.c 	rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef);
sdata            1940 net/mac80211/util.c 	shift = ieee80211_vif_get_shift(&sdata->vif);
sdata            2015 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            2039 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list)
sdata            2040 net/mac80211/util.c 		sdata->flags &= ~IEEE80211_SDATA_IN_DRIVER;
sdata            2054 net/mac80211/util.c 				     struct ieee80211_sub_if_data *sdata)
sdata            2063 net/mac80211/util.c 	conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            2067 net/mac80211/util.c 		drv_assign_vif_chanctx(local, sdata, ctx);
sdata            2072 net/mac80211/util.c static void ieee80211_reconfig_stations(struct ieee80211_sub_if_data *sdata)
sdata            2074 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            2082 net/mac80211/util.c 		if (!sta->uploaded || sta->sdata != sdata)
sdata            2087 net/mac80211/util.c 			WARN_ON(drv_sta_state(local, sta->sdata, sta, state,
sdata            2093 net/mac80211/util.c static int ieee80211_reconfig_nan(struct ieee80211_sub_if_data *sdata)
sdata            2098 net/mac80211/util.c 	res = drv_start_nan(sdata->local, sdata,
sdata            2099 net/mac80211/util.c 			    &sdata->u.nan.conf);
sdata            2103 net/mac80211/util.c 	funcs = kcalloc(sdata->local->hw.max_nan_de_entries + 1,
sdata            2113 net/mac80211/util.c 	spin_lock_bh(&sdata->u.nan.func_lock);
sdata            2115 net/mac80211/util.c 	idr_for_each_entry(&sdata->u.nan.function_inst_ids, func, id)
sdata            2118 net/mac80211/util.c 	spin_unlock_bh(&sdata->u.nan.func_lock);
sdata            2121 net/mac80211/util.c 		res = drv_add_nan_func(sdata->local, sdata, funcs[i]);
sdata            2123 net/mac80211/util.c 			ieee80211_nan_func_terminated(&sdata->vif,
sdata            2137 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            2224 net/mac80211/util.c 	sdata = rtnl_dereference(local->monitor_sdata);
sdata            2225 net/mac80211/util.c 	if (sdata) {
sdata            2228 net/mac80211/util.c 		res = drv_add_interface(local, sdata);
sdata            2232 net/mac80211/util.c 			kfree(sdata);
sdata            2236 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2237 net/mac80211/util.c 		if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            2238 net/mac80211/util.c 		    sdata->vif.type != NL80211_IFTYPE_MONITOR &&
sdata            2239 net/mac80211/util.c 		    ieee80211_sdata_running(sdata)) {
sdata            2240 net/mac80211/util.c 			res = drv_add_interface(local, sdata);
sdata            2250 net/mac80211/util.c 		list_for_each_entry_continue_reverse(sdata, &local->interfaces,
sdata            2252 net/mac80211/util.c 			if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata            2253 net/mac80211/util.c 			    sdata->vif.type != NL80211_IFTYPE_MONITOR &&
sdata            2254 net/mac80211/util.c 			    ieee80211_sdata_running(sdata))
sdata            2255 net/mac80211/util.c 				drv_remove_interface(local, sdata);
sdata            2269 net/mac80211/util.c 		sdata = rtnl_dereference(local->monitor_sdata);
sdata            2270 net/mac80211/util.c 		if (sdata && ieee80211_sdata_running(sdata))
sdata            2271 net/mac80211/util.c 			ieee80211_assign_chanctx(local, sdata);
sdata            2280 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2283 net/mac80211/util.c 		if (!ieee80211_sdata_running(sdata))
sdata            2286 net/mac80211/util.c 		ieee80211_assign_chanctx(local, sdata);
sdata            2288 net/mac80211/util.c 		switch (sdata->vif.type) {
sdata            2293 net/mac80211/util.c 			if (sdata->vif.bss_conf.ibss_joined)
sdata            2294 net/mac80211/util.c 				WARN_ON(drv_join_ibss(local, sdata));
sdata            2297 net/mac80211/util.c 			ieee80211_reconfig_stations(sdata);
sdata            2301 net/mac80211/util.c 				drv_conf_tx(local, sdata, i,
sdata            2302 net/mac80211/util.c 					    &sdata->tx_conf[i]);
sdata            2320 net/mac80211/util.c 		if (sdata->vif.mu_mimo_owner)
sdata            2323 net/mac80211/util.c 		switch (sdata->vif.type) {
sdata            2330 net/mac80211/util.c 			if (sdata->u.mgd.have_beacon)
sdata            2333 net/mac80211/util.c 			if (sdata->vif.bss_conf.max_idle_period ||
sdata            2334 net/mac80211/util.c 			    sdata->vif.bss_conf.protected_keep_alive)
sdata            2337 net/mac80211/util.c 			sdata_lock(sdata);
sdata            2338 net/mac80211/util.c 			ieee80211_bss_info_change_notify(sdata, changed);
sdata            2339 net/mac80211/util.c 			sdata_unlock(sdata);
sdata            2343 net/mac80211/util.c 			ieee80211_bss_info_change_notify(sdata, changed);
sdata            2351 net/mac80211/util.c 			if (sdata->vif.bss_conf.ftm_responder == 1 &&
sdata            2352 net/mac80211/util.c 			    wiphy_ext_feature_isset(sdata->local->hw.wiphy,
sdata            2356 net/mac80211/util.c 			if (sdata->vif.type == NL80211_IFTYPE_AP) {
sdata            2359 net/mac80211/util.c 				if (rcu_access_pointer(sdata->u.ap.beacon))
sdata            2360 net/mac80211/util.c 					drv_start_ap(local, sdata);
sdata            2365 net/mac80211/util.c 			if (sdata->vif.bss_conf.enable_beacon) {
sdata            2368 net/mac80211/util.c 				ieee80211_bss_info_change_notify(sdata, changed);
sdata            2372 net/mac80211/util.c 			res = ieee80211_reconfig_nan(sdata);
sdata            2402 net/mac80211/util.c 		list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2403 net/mac80211/util.c 			if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata            2405 net/mac80211/util.c 			if (!sdata->u.mgd.associated)
sdata            2408 net/mac80211/util.c 			ieee80211_send_nullfunc(local, sdata, false);
sdata            2420 net/mac80211/util.c 		if (sta->sdata->vif.type != NL80211_IFTYPE_AP &&
sdata            2421 net/mac80211/util.c 		    sta->sdata->vif.type != NL80211_IFTYPE_AP_VLAN)
sdata            2426 net/mac80211/util.c 			WARN_ON(drv_sta_state(local, sta->sdata, sta, state,
sdata            2432 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list)
sdata            2433 net/mac80211/util.c 		ieee80211_reenable_keys(sdata);
sdata            2499 net/mac80211/util.c 		list_for_each_entry(sdata, &local->interfaces, list)
sdata            2500 net/mac80211/util.c 			ieee80211_queue_work(&local->hw, &sdata->work);
sdata            2528 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            2529 net/mac80211/util.c 		if (!ieee80211_sdata_running(sdata))
sdata            2531 net/mac80211/util.c 		if (sdata->vif.type == NL80211_IFTYPE_STATION)
sdata            2532 net/mac80211/util.c 			ieee80211_sta_restart(sdata);
sdata            2545 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            2552 net/mac80211/util.c 	sdata = vif_to_sdata(vif);
sdata            2553 net/mac80211/util.c 	local = sdata->local;
sdata            2561 net/mac80211/util.c 	sdata->flags |= IEEE80211_SDATA_DISCONNECT_RESUME;
sdata            2564 net/mac80211/util.c 	list_for_each_entry(key, &sdata->key_list, list)
sdata            2570 net/mac80211/util.c void ieee80211_recalc_smps(struct ieee80211_sub_if_data *sdata)
sdata            2572 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            2578 net/mac80211/util.c 	chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            2596 net/mac80211/util.c void ieee80211_recalc_min_chandef(struct ieee80211_sub_if_data *sdata)
sdata            2598 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            2604 net/mac80211/util.c 	chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf,
sdata            2626 net/mac80211/util.c static void _ieee80211_enable_rssi_reports(struct ieee80211_sub_if_data *sdata,
sdata            2630 net/mac80211/util.c 	trace_api_enable_rssi_reports(sdata, rssi_min_thold, rssi_max_thold);
sdata            2632 net/mac80211/util.c 	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
sdata            2640 net/mac80211/util.c 	sdata->u.mgd.rssi_min_thold = rssi_min_thold*16;
sdata            2641 net/mac80211/util.c 	sdata->u.mgd.rssi_max_thold = rssi_max_thold*16;
sdata            2648 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            2653 net/mac80211/util.c 	_ieee80211_enable_rssi_reports(sdata, rssi_min_thold,
sdata            2660 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            2662 net/mac80211/util.c 	_ieee80211_enable_rssi_reports(sdata, 0, 0);
sdata            2722 net/mac80211/util.c u8 ieee80211_ie_len_he_cap(struct ieee80211_sub_if_data *sdata, u8 iftype)
sdata            2728 net/mac80211/util.c 	sband = ieee80211_get_sband(sdata);
sdata            3100 net/mac80211/util.c int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
sdata            3104 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            3108 net/mac80211/util.c 	u32 basic_rates = sdata->vif.bss_conf.basic_rates;
sdata            3111 net/mac80211/util.c 	shift = ieee80211_vif_get_shift(&sdata->vif);
sdata            3112 net/mac80211/util.c 	rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef);
sdata            3144 net/mac80211/util.c int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata,
sdata            3148 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            3152 net/mac80211/util.c 	u32 basic_rates = sdata->vif.bss_conf.basic_rates;
sdata            3155 net/mac80211/util.c 	rate_flags = ieee80211_chandef_rate_flags(&sdata->vif.bss_conf.chandef);
sdata            3156 net/mac80211/util.c 	shift = ieee80211_vif_get_shift(&sdata->vif);
sdata            3195 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
sdata            3196 net/mac80211/util.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata            3198 net/mac80211/util.c 	if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) {
sdata            3318 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            3325 net/mac80211/util.c 	list_for_each_entry(sdata, &local->interfaces, list) {
sdata            3330 net/mac80211/util.c 		cancel_delayed_work(&sdata->dfs_cac_timer_work);
sdata            3332 net/mac80211/util.c 		if (sdata->wdev.cac_started) {
sdata            3333 net/mac80211/util.c 			chandef = sdata->vif.bss_conf.chandef;
sdata            3334 net/mac80211/util.c 			ieee80211_vif_release_channel(sdata);
sdata            3335 net/mac80211/util.c 			cfg80211_cac_event(sdata->dev,
sdata            3468 net/mac80211/util.c int ieee80211_send_action_csa(struct ieee80211_sub_if_data *sdata,
sdata            3473 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            3479 net/mac80211/util.c 	if (sdata->vif.type != NL80211_IFTYPE_ADHOC &&
sdata            3480 net/mac80211/util.c 	    sdata->vif.type != NL80211_IFTYPE_MESH_POINT)
sdata            3497 net/mac80211/util.c 	memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
sdata            3498 net/mac80211/util.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            3499 net/mac80211/util.c 		memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
sdata            3501 net/mac80211/util.c 		struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
sdata            3527 net/mac80211/util.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            3528 net/mac80211/util.c 		struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
sdata            3533 net/mac80211/util.c 		*pos++ = sdata->u.mesh.mshcfg.dot11MeshTTL;	/* Mesh TTL */
sdata            3551 net/mac80211/util.c 	ieee80211_tx_skb(sdata, skb);
sdata            3771 net/mac80211/util.c 			   struct ieee80211_sub_if_data *sdata)
sdata            3773 net/mac80211/util.c 	u64 tsf = drv_get_tsf(local, sdata);
sdata            3775 net/mac80211/util.c 	u16 beacon_int = sdata->vif.bss_conf.beacon_int * 1024;
sdata            3776 net/mac80211/util.c 	u8 dtim_period = sdata->vif.bss_conf.dtim_period;
sdata            3783 net/mac80211/util.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            3784 net/mac80211/util.c 	    sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
sdata            3785 net/mac80211/util.c 		if (!sdata->bss)
sdata            3788 net/mac80211/util.c 		ps = &sdata->bss->ps;
sdata            3789 net/mac80211/util.c 	} else if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata            3790 net/mac80211/util.c 		ps = &sdata->u.mesh.ps;
sdata            3814 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            3822 net/mac80211/util.c 	list_for_each_entry(sdata, &ctx->reserved_vifs, reserved_chanctx_list)
sdata            3823 net/mac80211/util.c 		if (sdata->reserved_radar_required)
sdata            3824 net/mac80211/util.c 			radar_detect |= BIT(sdata->reserved_chandef.width);
sdata            3833 net/mac80211/util.c 	list_for_each_entry(sdata, &ctx->assigned_vifs, assigned_chanctx_list)
sdata            3834 net/mac80211/util.c 		if (sdata->radar_required)
sdata            3835 net/mac80211/util.c 			radar_detect |= BIT(sdata->vif.bss_conf.chandef.width);
sdata            3840 net/mac80211/util.c int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata,
sdata            3845 net/mac80211/util.c 	struct ieee80211_local *local = sdata->local;
sdata            3847 net/mac80211/util.c 	enum nl80211_iftype iftype = sdata->wdev.iftype;
sdata            3866 net/mac80211/util.c 	if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata            3867 net/mac80211/util.c 	    sdata->vif.type == NL80211_IFTYPE_MESH_POINT) {
sdata            3873 net/mac80211/util.c 		params.new_beacon_int = sdata->vif.bss_conf.beacon_int;
sdata            3910 net/mac80211/util.c 		if (sdata_iter == sdata ||
sdata            3938 net/mac80211/util.c 	struct ieee80211_sub_if_data *sdata;
sdata            3956 net/mac80211/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list)
sdata            3957 net/mac80211/util.c 		params.iftype_num[sdata->wdev.iftype]++;
sdata              17 net/mac80211/vht.c static void __check_vhtcap_disable(struct ieee80211_sub_if_data *sdata,
sdata              23 net/mac80211/vht.c 	if (sdata->u.mgd.vht_capa_mask.vht_cap_info & le_flag &&
sdata              24 net/mac80211/vht.c 	    !(sdata->u.mgd.vht_capa.vht_cap_info & le_flag))
sdata              28 net/mac80211/vht.c void ieee80211_apply_vhtcap_overrides(struct ieee80211_sub_if_data *sdata,
sdata              37 net/mac80211/vht.c 	if (sdata->vif.type != NL80211_IFTYPE_STATION)
sdata              40 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              42 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              44 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              46 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              48 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              50 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              52 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              54 net/mac80211/vht.c 	__check_vhtcap_disable(sdata, vht_cap,
sdata              58 net/mac80211/vht.c 	if (sdata->u.mgd.vht_capa_mask.vht_cap_info &
sdata              62 net/mac80211/vht.c 		n = le32_to_cpu(sdata->u.mgd.vht_capa.vht_cap_info) &
sdata              78 net/mac80211/vht.c 		le16_to_cpu(sdata->u.mgd.vht_capa_mask.supp_mcs.rx_mcs_map);
sdata              79 net/mac80211/vht.c 	rxmcs_n = le16_to_cpu(sdata->u.mgd.vht_capa.supp_mcs.rx_mcs_map);
sdata              84 net/mac80211/vht.c 		le16_to_cpu(sdata->u.mgd.vht_capa_mask.supp_mcs.tx_mcs_map);
sdata              85 net/mac80211/vht.c 	txmcs_n = le16_to_cpu(sdata->u.mgd.vht_capa.supp_mcs.tx_mcs_map);
sdata             116 net/mac80211/vht.c ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata,
sdata             164 net/mac80211/vht.c 	if (sdata->vif.type == NL80211_IFTYPE_STATION &&
sdata             166 net/mac80211/vht.c 		ieee80211_apply_vhtcap_overrides(sdata, &own_cap);
sdata             233 net/mac80211/vht.c 	if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_VHT_EXT_NSS_BW))
sdata             289 net/mac80211/vht.c 		sdata_info(sdata, "Ignoring VHT IE from %pM due to invalid rx_mcs_map\n",
sdata             438 net/mac80211/vht.c 	struct ieee80211_sub_if_data *sdata = sta->sdata;
sdata             440 net/mac80211/vht.c 	enum nl80211_chan_width bss_width = sdata->vif.bss_conf.chandef.width;
sdata             500 net/mac80211/vht.c u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
sdata             548 net/mac80211/vht.c 		cfg80211_sta_opmode_change_notify(sdata->dev, sta->addr,
sdata             554 net/mac80211/vht.c void ieee80211_process_mu_groups(struct ieee80211_sub_if_data *sdata,
sdata             557 net/mac80211/vht.c 	struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
sdata             559 net/mac80211/vht.c 	if (!sdata->vif.mu_mimo_owner)
sdata             575 net/mac80211/vht.c 	ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_MU_GROUPS);
sdata             591 net/mac80211/vht.c void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
sdata             595 net/mac80211/vht.c 	struct ieee80211_local *local = sdata->local;
sdata             598 net/mac80211/vht.c 	u32 changed = __ieee80211_vht_handle_opmode(sdata, sta, opmode, band);
sdata             601 net/mac80211/vht.c 		ieee80211_recalc_min_chandef(sdata);
sdata              83 net/mac80211/wme.c static u16 ieee80211_downgrade_queue(struct ieee80211_sub_if_data *sdata,
sdata              86 net/mac80211/wme.c 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
sdata              89 net/mac80211/wme.c 	while (sdata->wmm_acm & BIT(skb->priority)) {
sdata             116 net/mac80211/wme.c u16 ieee80211_select_queue_80211(struct ieee80211_sub_if_data *sdata,
sdata             120 net/mac80211/wme.c 	struct ieee80211_local *local = sdata->local;
sdata             138 net/mac80211/wme.c 	return ieee80211_downgrade_queue(sdata, NULL, skb);
sdata             141 net/mac80211/wme.c u16 __ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
sdata             148 net/mac80211/wme.c 	if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
sdata             149 net/mac80211/wme.c 	    sdata->vif.type == NL80211_IFTYPE_OCB)
sdata             161 net/mac80211/wme.c 	if (skb->protocol == sdata->control_port_protocol) {
sdata             168 net/mac80211/wme.c 	qos_map = rcu_dereference(sdata->qos_map);
sdata             173 net/mac80211/wme.c 	return ieee80211_downgrade_queue(sdata, sta, skb);
sdata             178 net/mac80211/wme.c u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
sdata             181 net/mac80211/wme.c 	struct ieee80211_local *local = sdata->local;
sdata             196 net/mac80211/wme.c 	switch (sdata->vif.type) {
sdata             198 net/mac80211/wme.c 		sta = rcu_dereference(sdata->u.vlan.sta);
sdata             206 net/mac80211/wme.c 		ra = sdata->u.wds.remote_addr;
sdata             210 net/mac80211/wme.c 		sta = sta_info_get(sdata, skb->data);
sdata             214 net/mac80211/wme.c 		ra = sdata->u.mgd.bssid;
sdata             224 net/mac80211/wme.c 		sta = sta_info_get(sdata, ra);
sdata             226 net/mac80211/wme.c 	ret = __ieee80211_select_queue(sdata, sta, skb);
sdata             238 net/mac80211/wme.c void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata,
sdata             262 net/mac80211/wme.c 	    sdata->noack_map & BIT(tid)) {
sdata             272 net/mac80211/wme.c 	if (ieee80211_vif_is_mesh(&sdata->vif)) {
sdata              13 net/mac80211/wme.h u16 ieee80211_select_queue_80211(struct ieee80211_sub_if_data *sdata,
sdata              16 net/mac80211/wme.h u16 __ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
sdata              18 net/mac80211/wme.h u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
sdata              20 net/mac80211/wme.h void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata,
sdata             137 net/mac80211/wpa.c 	if (rx->sdata->vif.type == NL80211_IFTYPE_AP && rx->key->conf.keyidx) {
sdata             184 net/mac80211/wpa.c 	cfg80211_michael_mic_failure(rx->sdata->dev, hdr->addr2,
sdata              36 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              38 net/mac802154/cfg.c 	ieee802154_if_remove(sdata);
sdata             270 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             272 net/mac802154/cfg.c 	*table = &sdata->sec.table;
sdata             280 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             282 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             290 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             292 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             302 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             305 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             306 net/mac802154/cfg.c 	res = mac802154_llsec_set_params(&sdata->sec, params, changed);
sdata             307 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             318 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             321 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             322 net/mac802154/cfg.c 	res = mac802154_llsec_get_params(&sdata->sec, params);
sdata             323 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             334 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             337 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             338 net/mac802154/cfg.c 	res = mac802154_llsec_key_add(&sdata->sec, id, key);
sdata             339 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             349 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             352 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             353 net/mac802154/cfg.c 	res = mac802154_llsec_key_del(&sdata->sec, id);
sdata             354 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             364 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             367 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             368 net/mac802154/cfg.c 	res = mac802154_llsec_seclevel_add(&sdata->sec, sl);
sdata             369 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             379 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             382 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             383 net/mac802154/cfg.c 	res = mac802154_llsec_seclevel_del(&sdata->sec, sl);
sdata             384 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             394 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             397 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             398 net/mac802154/cfg.c 	res = mac802154_llsec_dev_add(&sdata->sec, dev_desc);
sdata             399 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             409 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             412 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             413 net/mac802154/cfg.c 	res = mac802154_llsec_dev_del(&sdata->sec, extended_addr);
sdata             414 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             425 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             428 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             429 net/mac802154/cfg.c 	res = mac802154_llsec_devkey_add(&sdata->sec, extended_addr, key);
sdata             430 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             441 net/mac802154/cfg.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             444 net/mac802154/cfg.c 	mutex_lock(&sdata->sec_mtx);
sdata             445 net/mac802154/cfg.c 	res = mac802154_llsec_devkey_del(&sdata->sec, extended_addr, key);
sdata             446 net/mac802154/cfg.c 	mutex_unlock(&sdata->sec_mtx);
sdata             116 net/mac802154/ieee802154_i.h ieee802154_sdata_running(struct ieee802154_sub_if_data *sdata)
sdata             118 net/mac802154/ieee802154_i.h 	return test_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             172 net/mac802154/ieee802154_i.h void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata);
sdata              27 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              29 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata              51 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              52 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             113 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             123 net/mac802154/iface.c 	if (sdata->wpan_dev.lowpan_dev) {
sdata             124 net/mac802154/iface.c 		if (netif_running(sdata->wpan_dev.lowpan_dev))
sdata             133 net/mac802154/iface.c 	sdata->wpan_dev.extended_addr = extended_addr;
sdata             138 net/mac802154/iface.c 	if (sdata->wpan_dev.lowpan_dev)
sdata             139 net/mac802154/iface.c 		memcpy(sdata->wpan_dev.lowpan_dev->dev_addr, dev->dev_addr,
sdata             145 net/mac802154/iface.c static int ieee802154_setup_hw(struct ieee802154_sub_if_data *sdata)
sdata             147 net/mac802154/iface.c 	struct ieee802154_local *local = sdata->local;
sdata             148 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             197 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             198 net/mac802154/iface.c 	struct ieee802154_local *local = sdata->local;
sdata             203 net/mac802154/iface.c 	set_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             206 net/mac802154/iface.c 		res = ieee802154_setup_hw(sdata);
sdata             220 net/mac802154/iface.c 	clear_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             265 net/mac802154/iface.c ieee802154_check_concurrent_iface(struct ieee802154_sub_if_data *sdata,
sdata             268 net/mac802154/iface.c 	struct ieee802154_local *local = sdata->local;
sdata             269 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             274 net/mac802154/iface.c 		if (nsdata != sdata && ieee802154_sdata_running(nsdata)) {
sdata             302 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             303 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             305 net/mac802154/iface.c 	rc = ieee802154_check_concurrent_iface(sdata, wpan_dev->iftype);
sdata             314 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             315 net/mac802154/iface.c 	struct ieee802154_local *local = sdata->local;
sdata             322 net/mac802154/iface.c 	clear_bit(SDATA_STATE_RUNNING, &sdata->state);
sdata             330 net/mac802154/iface.c static int mac802154_set_header_security(struct ieee802154_sub_if_data *sdata,
sdata             337 net/mac802154/iface.c 	mac802154_llsec_get_params(&sdata->sec, &params);
sdata             369 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             370 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             383 net/mac802154/iface.c 	if (mac802154_set_header_security(sdata, &hdr, cb) < 0)
sdata             435 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             436 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             451 net/mac802154/iface.c 	if (mac802154_set_header_security(sdata, &hdr, &cb) < 0)
sdata             518 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             520 net/mac802154/iface.c 	mac802154_llsec_destroy(&sdata->sec);
sdata             556 net/mac802154/iface.c ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,
sdata             559 net/mac802154/iface.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             564 net/mac802154/iface.c 	sdata->wpan_dev.iftype = type;
sdata             583 net/mac802154/iface.c 					sdata->dev->dev_addr);
sdata             585 net/mac802154/iface.c 		sdata->dev->header_ops = &mac802154_header_ops;
sdata             586 net/mac802154/iface.c 		sdata->dev->needs_free_netdev = true;
sdata             587 net/mac802154/iface.c 		sdata->dev->priv_destructor = mac802154_wpan_free;
sdata             588 net/mac802154/iface.c 		sdata->dev->netdev_ops = &mac802154_wpan_ops;
sdata             589 net/mac802154/iface.c 		sdata->dev->ml_priv = &mac802154_mlme_wpan;
sdata             593 net/mac802154/iface.c 		mutex_init(&sdata->sec_mtx);
sdata             595 net/mac802154/iface.c 		mac802154_llsec_init(&sdata->sec);
sdata             596 net/mac802154/iface.c 		ret = mac802154_wpan_update_llsec(sdata->dev);
sdata             602 net/mac802154/iface.c 		sdata->dev->needs_free_netdev = true;
sdata             603 net/mac802154/iface.c 		sdata->dev->netdev_ops = &mac802154_monitor_ops;
sdata             619 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata = NULL;
sdata             624 net/mac802154/iface.c 	ndev = alloc_netdev(sizeof(*sdata), name,
sdata             658 net/mac802154/iface.c 	sdata = netdev_priv(ndev);
sdata             659 net/mac802154/iface.c 	ndev->ieee802154_ptr = &sdata->wpan_dev;
sdata             660 net/mac802154/iface.c 	memcpy(sdata->name, ndev->name, IFNAMSIZ);
sdata             661 net/mac802154/iface.c 	sdata->dev = ndev;
sdata             662 net/mac802154/iface.c 	sdata->wpan_dev.wpan_phy = local->hw.phy;
sdata             663 net/mac802154/iface.c 	sdata->local = local;
sdata             666 net/mac802154/iface.c 	ret = ieee802154_setup_sdata(sdata, type);
sdata             675 net/mac802154/iface.c 	list_add_tail_rcu(&sdata->list, &local->interfaces);
sdata             685 net/mac802154/iface.c void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata)
sdata             689 net/mac802154/iface.c 	mutex_lock(&sdata->local->iflist_mtx);
sdata             690 net/mac802154/iface.c 	list_del_rcu(&sdata->list);
sdata             691 net/mac802154/iface.c 	mutex_unlock(&sdata->local->iflist_mtx);
sdata             694 net/mac802154/iface.c 	unregister_netdevice(sdata->dev);
sdata             699 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata, *tmp;
sdata             702 net/mac802154/iface.c 	list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) {
sdata             703 net/mac802154/iface.c 		list_del(&sdata->list);
sdata             705 net/mac802154/iface.c 		unregister_netdevice(sdata->dev);
sdata             714 net/mac802154/iface.c 	struct ieee802154_sub_if_data *sdata;
sdata             725 net/mac802154/iface.c 	sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             726 net/mac802154/iface.c 	memcpy(sdata->name, dev->name, IFNAMSIZ);
sdata              60 net/mac802154/mac_cmd.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              61 net/mac802154/mac_cmd.c 	struct ieee802154_local *local = sdata->local;
sdata              62 net/mac802154/mac_cmd.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata             103 net/mac802154/mac_cmd.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             104 net/mac802154/mac_cmd.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata              23 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              24 net/mac802154/mib.c 	struct ieee802154_local *local = sdata->local;
sdata              43 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              48 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata              49 net/mac802154/mib.c 	res = mac802154_llsec_get_params(&sdata->sec, params);
sdata              50 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata              59 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              64 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata              65 net/mac802154/mib.c 	res = mac802154_llsec_set_params(&sdata->sec, params, changed);
sdata              66 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata              75 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              80 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata              81 net/mac802154/mib.c 	res = mac802154_llsec_key_add(&sdata->sec, id, key);
sdata              82 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata              90 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata              95 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata              96 net/mac802154/mib.c 	res = mac802154_llsec_key_del(&sdata->sec, id);
sdata              97 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             105 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             110 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             111 net/mac802154/mib.c 	res = mac802154_llsec_dev_add(&sdata->sec, llsec_dev);
sdata             112 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             119 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             124 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             125 net/mac802154/mib.c 	res = mac802154_llsec_dev_del(&sdata->sec, dev_addr);
sdata             126 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             135 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             140 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             141 net/mac802154/mib.c 	res = mac802154_llsec_devkey_add(&sdata->sec, device_addr, key);
sdata             142 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             151 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             156 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             157 net/mac802154/mib.c 	res = mac802154_llsec_devkey_del(&sdata->sec, device_addr, key);
sdata             158 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             166 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             171 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             172 net/mac802154/mib.c 	res = mac802154_llsec_seclevel_add(&sdata->sec, sl);
sdata             173 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             181 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             186 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             187 net/mac802154/mib.c 	res = mac802154_llsec_seclevel_del(&sdata->sec, sl);
sdata             188 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata             195 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             199 net/mac802154/mib.c 	mutex_lock(&sdata->sec_mtx);
sdata             205 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             209 net/mac802154/mib.c 	*t = &sdata->sec.table;
sdata             214 net/mac802154/mib.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             218 net/mac802154/mib.c 	mutex_unlock(&sdata->sec_mtx);
sdata              33 net/mac802154/rx.c ieee802154_subif_frame(struct ieee802154_sub_if_data *sdata,
sdata              36 net/mac802154/rx.c 	struct wpan_dev *wpan_dev = &sdata->wpan_dev;
sdata              40 net/mac802154/rx.c 	pr_debug("getting packet via slave interface %s\n", sdata->dev->name);
sdata              80 net/mac802154/rx.c 	skb->dev = sdata->dev;
sdata              86 net/mac802154/rx.c 	rc = mac802154_llsec_decrypt(&sdata->sec, skb);
sdata              92 net/mac802154/rx.c 	sdata->dev->stats.rx_packets++;
sdata              93 net/mac802154/rx.c 	sdata->dev->stats.rx_bytes += skb->len;
sdata             195 net/mac802154/rx.c 	struct ieee802154_sub_if_data *sdata;
sdata             205 net/mac802154/rx.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             206 net/mac802154/rx.c 		if (sdata->wpan_dev.iftype != NL802154_IFTYPE_NODE)
sdata             209 net/mac802154/rx.c 		if (!ieee802154_sdata_running(sdata))
sdata             212 net/mac802154/rx.c 		ieee802154_subif_frame(sdata, skb, &hdr);
sdata             224 net/mac802154/rx.c 	struct ieee802154_sub_if_data *sdata;
sdata             231 net/mac802154/rx.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata             232 net/mac802154/rx.c 		if (sdata->wpan_dev.iftype != NL802154_IFTYPE_MONITOR)
sdata             235 net/mac802154/rx.c 		if (!ieee802154_sdata_running(sdata))
sdata             240 net/mac802154/rx.c 			skb2->dev = sdata->dev;
sdata             243 net/mac802154/rx.c 			sdata->dev->stats.rx_packets++;
sdata             244 net/mac802154/rx.c 			sdata->dev->stats.rx_bytes += skb->len;
sdata             104 net/mac802154/tx.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             108 net/mac802154/tx.c 	return ieee802154_tx(sdata->local, skb);
sdata             114 net/mac802154/tx.c 	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
sdata             121 net/mac802154/tx.c 	rc = mac802154_llsec_encrypt(&sdata->sec, skb);
sdata             130 net/mac802154/tx.c 	return ieee802154_tx(sdata->local, skb);
sdata              19 net/mac802154/util.c 	struct ieee802154_sub_if_data *sdata;
sdata              22 net/mac802154/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata              23 net/mac802154/util.c 		if (!sdata->dev)
sdata              26 net/mac802154/util.c 		netif_wake_queue(sdata->dev);
sdata              35 net/mac802154/util.c 	struct ieee802154_sub_if_data *sdata;
sdata              38 net/mac802154/util.c 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
sdata              39 net/mac802154/util.c 		if (!sdata->dev)
sdata              42 net/mac802154/util.c 		netif_stop_queue(sdata->dev);