2014-12-29 15:37:42 +02:00
|
|
|
#include <errno.h>
|
|
|
|
|
#include <sys/ioctl.h>
|
|
|
|
|
|
|
|
|
|
#include "libhsakmt.h"
|
|
|
|
|
|
2017-04-20 08:25:00 -04:00
|
|
|
/* Call ioctl, restarting if it is interrupted */
|
|
|
|
|
int kmtIoctl(int fd, unsigned long request, void *arg)
|
2014-12-29 15:37:42 +02:00
|
|
|
{
|
2017-04-20 08:25:00 -04:00
|
|
|
int ret;
|
2014-12-29 15:37:42 +02:00
|
|
|
|
2017-04-20 08:25:00 -04:00
|
|
|
do {
|
|
|
|
|
ret = ioctl(fd, request, arg);
|
|
|
|
|
} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
|
|
|
|
|
|
|
|
|
|
return ret;
|
2014-12-29 15:37:42 +02:00
|
|
|
}
|