• P
    ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel · 883b97ea
    Petr Vandrovec 提交于
    * write(fd, buf, 52) from 32bit app was returning 56.  Most of callers did not
      care, but some (arm registration) did, and anyway it looks bad if request for
      writing 52 bytes returns 56.  And returning sizeof anything in 'int' is not
      good as well.  So all functions now return '0' instead of
      sizeof(struct raw1394_request) on success, and write() itself provides correct
      return value (it just returns value it was asked to write on success as raw1394
      does not do any partial writes at all).
    
    * Related to this was problem that write() could have returned 0 when kernel
      state would become corrupted and moved to different state than
      opened/initialized/connected.  Now it returns -EBADFD which seemed appropriate.
    Signed-off-by: NPetr Vandrovec <petr@vandrovec.name>
    Acked-by: NDan Dennedy <dan@dennedy.org>
    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (split into 3 patches)
    883b97ea
raw1394.c 83.4 KB