mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-27 06:04:32 +08:00
rfkill: Do not log errors for missing device path
In the case of our products, we lack a physical RFKILL switch and do not have the rfkill module enabled in the kernel which resulted in an error message each time bluetoothd was started. This commit looks at the errno code after failing to open the RFKILL device and only logs an error if it is something other than ENOENT (No such file or directory). Fixes: https://github.com/bluez/bluez/issues/792
This commit is contained in:
parent
f0302d90a1
commit
63f1ab560c
14
src/rfkill.c
14
src/rfkill.c
@ -55,6 +55,7 @@ struct rfkill_event {
|
||||
uint8_t hard;
|
||||
};
|
||||
#define RFKILL_EVENT_SIZE_V1 8
|
||||
#define RFKILL_DEVICE_PATH "/dev/rfkill"
|
||||
|
||||
static int get_adapter_id_for_rfkill(uint32_t rfkill_id)
|
||||
{
|
||||
@ -88,7 +89,7 @@ int rfkill_get_blocked(uint16_t index)
|
||||
int fd;
|
||||
int blocked = -1;
|
||||
|
||||
fd = open("/dev/rfkill", O_RDWR);
|
||||
fd = open(RFKILL_DEVICE_PATH, O_RDWR);
|
||||
if (fd < 0) {
|
||||
DBG("Failed to open RFKILL control device");
|
||||
return -1;
|
||||
@ -178,9 +179,16 @@ void rfkill_init(void)
|
||||
int fd;
|
||||
GIOChannel *channel;
|
||||
|
||||
fd = open("/dev/rfkill", O_RDWR);
|
||||
errno = 0;
|
||||
fd = open(RFKILL_DEVICE_PATH, O_RDWR);
|
||||
if (fd < 0) {
|
||||
error("Failed to open RFKILL control device");
|
||||
if (errno == ENOENT) {
|
||||
DBG("No RFKILL device available at '%s'",
|
||||
RFKILL_DEVICE_PATH);
|
||||
} else {
|
||||
error("Failed to open RFKILL control device: %s",
|
||||
strerror(errno));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user