mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-05-03 06:47:04 -04:00
module-avb: check that ptp management request is complete
This commit is contained in:
parent
f360af0889
commit
f4c26cd3ed
1 changed files with 6 additions and 1 deletions
|
|
@ -110,7 +110,8 @@ static bool update_ts_refclk(struct gptp *gptp) {
|
||||||
req.management_message_length_be = htons(2);
|
req.management_message_length_be = htons(2);
|
||||||
req.management_id_be = htons(PTP_MGMT_ID_PARENT_DATA_SET);
|
req.management_id_be = htons(PTP_MGMT_ID_PARENT_DATA_SET);
|
||||||
|
|
||||||
if (write(gptp->ptp_fd, &req, sizeof(req)) == -1) {
|
ret = write(gptp->ptp_fd, &req, sizeof(req));
|
||||||
|
if (ret == -1) {
|
||||||
pw_log_warn("Failed to send PTP management request: %m");
|
pw_log_warn("Failed to send PTP management request: %m");
|
||||||
if (errno != ENOTCONN)
|
if (errno != ENOTCONN)
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -120,6 +121,10 @@ static bool update_ts_refclk(struct gptp *gptp) {
|
||||||
pw_log_info("Reopened PTP management socket");
|
pw_log_info("Reopened PTP management socket");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (ret != sizeof(req)) {
|
||||||
|
pw_log_warn("Incomplete PTP management request: %m");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t buf[sizeof(struct ptp_management_msg) + sizeof(struct ptp_parent_data_set)];
|
uint8_t buf[sizeof(struct ptp_management_msg) + sizeof(struct ptp_parent_data_set)];
|
||||||
ret = read(gptp->ptp_fd, &buf, sizeof(buf));
|
ret = read(gptp->ptp_fd, &buf, sizeof(buf));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue