/* Reproducing MythTV bug concerning several usb tuners with * media_tree for_3.6 top commit 50fbe32cf41a8309ed8016eb6f81232acfa23ae7 * (at least). * * Usage: * ioctltst /dev/dvb/adapter0/frontend0 (no sleep) * * or: * ioctltst /dev/dvb/adapter0/frontend0 1 (usleep 1ms between ioctls) */ #include #include #include #include #include #include void ioctltst(char *frontend, int flags) { struct dvb_frontend_info info; int fd = open(frontend, flags); if (fd < 0) { perror("open"); return; } int err = ioctl(fd, FE_GET_INFO, &info); if (err < 0) { perror("ioctl"); } close(fd); } int main(int argc, char **argv) { if (argc < 2) return 1; ioctltst(argv[1], O_RDWR); if (argc >= 3) usleep(atoi(argv[2]) * 1000UL); ioctltst(argv[1], O_RDONLY); return 0; }