mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-29 08:53:34 +08:00
IridiumSBD: Do not allow stopping the driver when the device is used to prevent hardfault
This commit is contained in:
@@ -91,6 +91,11 @@ int IridiumSBD::stop()
|
||||
return PX4_ERROR;
|
||||
}
|
||||
|
||||
if (IridiumSBD::instance->cdev_used) {
|
||||
PX4_WARN("device is used. Stop all users (MavLink)");
|
||||
return PX4_ERROR;
|
||||
}
|
||||
|
||||
PX4_WARN("stopping...");
|
||||
|
||||
IridiumSBD::instance->task_should_exit = true;
|
||||
@@ -922,6 +927,20 @@ void IridiumSBD::publish_telemetry_status()
|
||||
}
|
||||
}
|
||||
|
||||
int IridiumSBD::open_first(struct file *filep)
|
||||
{
|
||||
cdev_used = true;
|
||||
return CDev::open_first(filep);
|
||||
}
|
||||
|
||||
int IridiumSBD::close_last(struct file *filep)
|
||||
{
|
||||
cdev_used = false;
|
||||
return CDev::close_last(filep);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int iridiumsbd_main(int argc, char *argv[])
|
||||
{
|
||||
if (!strcmp(argv[1], "start")) {
|
||||
|
||||
Reference in New Issue
Block a user