xf86_remove_platform_device() frees the attributes with
config_odev_free_attributes(), which gives a server FD back through
systemd_logind_release_fd(): a plain close() without a logind session.
seatd keeps the device open, and the tracked entry is left pointing at
an FD number that can be reused.
Close the device through libseat first. This is the only path that frees
attributes holding a seatd FD.
Backport note: closed here instead of in config_odev_free_attributes(),
because this branch lacks 65472d1964 ("xfree86: move over public SDK
headers to include/").
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: galternat <galternat.twins223@simplelogin.com>
(cherry picked from commit 8dc955bf44)