• Stefan Richter's avatar
    firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value · 664d8010
    Stefan Richter authored
    This changes the ioctl() return value of FW_CDEV_IOC_SEND_REQUEST and of
    the as yet unreleased FW_CDEV_IOC_SEND_BROADCAST_REQUEST.  They used to
    return
    	sizeof(struct fw_cdev_send_request *) + data_length
    
    which is obviously a failed attempt to emulate the return value of
    raw1394's respective interface which uses write() instead of ioctl().
    
    However, the first summand, as size of a kernel pointer, is entirely
    meaningless to clients and the second summand is already known to
    clients.  And the result does not resemble raw1394's write() return
    code anyway.
    
    So simplify it to a constant non-negative value, i.e. 0.  The only
    dangers here would be that future client implementations check for error
    by ret != 0 instead of ret < 0 when running on top of an old kernel; or
    that current clients interpret ret = 0 or more as failure.  But both are
    hypothetical cases which don't justify to return irritating values.
    
    While we touch this code, also remove "& 0x1f" from tcode in the call of
    fw_send_request.  The tcode cannot be bigger than 0x1f at this point.
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    664d8010
fw-cdev.c 36.7 KB