Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec1722a2 authored by Mario Limonciello's avatar Mario Limonciello Committed by Matthew Garrett
Browse files

dell-laptop: Block software state changes when rfkill hard blocked



The "hardware" switch is tied directly to a BIOS interface that will
connect and disconnect the hardware from the bus.

If you use the software interface to request the BIOS to make these
changes, the HW switch will be in an inconsistent state and LEDs may not
reflect the state of the HW.

Signed-off-by: default avatarMario Limonciello <Mario_Limonciello@Dell.com>
parent e551260b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -190,6 +190,10 @@ static int dell_rfkill_set(void *data, bool blocked)
	unsigned long radio = (unsigned long)data;

	memset(&buffer, 0, sizeof(struct calling_interface_buffer));
	dell_send_request(&buffer, 17, 11);
	if (!(buffer.output[1] & BIT(16)))
		return -EINVAL;

	buffer.input[0] = (1 | (radio<<8) | (disable << 16));
	dell_send_request(&buffer, 17, 11);