From d8639df64bf8ad4fd00f4cd19de62c99358a3d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20=27Morty=27=20Str=C3=BCbe?= Date: Mon, 18 May 2015 09:29:35 +0200 Subject: [PATCH 1/2] Fix EINVAL handling and O_DIRECT --- tools/sky/serialdump.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/sky/serialdump.c b/tools/sky/serialdump.c index e3e47092b..e1cd6c31e 100644 --- a/tools/sky/serialdump.c +++ b/tools/sky/serialdump.c @@ -164,13 +164,21 @@ main(int argc, char **argv) } fprintf(stderr, "connecting to %s (%s)", device, speedname); -#ifdef O_SYNC + + +#ifndef O_SYNC +#define O_SYNC 0 +#endif +#ifdef O_DIRECT fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_DIRECT | O_SYNC); - if(fd < 0 && errno == EINVAL){ // O_SYNC not supported (e.g. raspberian) - fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_DIRECT); + // Some system do not support certain parameters (e.g. raspberian) + // Just do some random testing. Not sure wheter ther is a better way + // of doing this. + if(fd < 0 && errno == EINVAL){ + fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_SYNC); } #else - fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_SYNC ); + fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_SYNC); #endif if(fd < 0) { fprintf(stderr, "\n"); From e38bc3bdcd8939387a34aa7bd9af3bd9fd506417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20=27Morty=27=20Str=C3=BCbe?= Date: Mon, 18 May 2015 10:17:11 +0200 Subject: [PATCH 2/2] Revert binary: serialdump-linux --- tools/sky/serialdump-linux | Bin 14748 -> 14922 bytes tools/sky/serialdump.c | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/sky/serialdump-linux b/tools/sky/serialdump-linux index 8bb8192c282daa79e093d45bfdc0da9fdf59bb5b..8c7af779d6833ab75857ae8d2a59688e0d68cfab 100755 GIT binary patch literal 14922 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 literal 14748 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 z