diff options
Diffstat (limited to 'device')
-rw-r--r-- | device/uapi.go | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/device/uapi.go b/device/uapi.go index 7d180bb..160806d 100644 --- a/device/uapi.go +++ b/device/uapi.go @@ -411,31 +411,22 @@ func (device *Device) IpcHandle(socket net.Conn) { } // handle operation - - var status *IPCError - switch op { case "set=1\n": err = device.IpcSetOperation(buffered.Reader) - if err != nil && !errors.As(err, &status) { - // should never happen - status = ipcErrorf(1, "invalid UAPI error: %w", err) - } - case "get=1\n": err = device.IpcGetOperation(buffered.Writer) - if err != nil && !errors.As(err, &status) { - // should never happen - status = ipcErrorf(1, "invalid UAPI error: %w", err) - } - default: - device.log.Error.Println("Invalid UAPI operation:", op) + device.log.Error.Println("invalid UAPI operation:", op) return } // write status - + var status *IPCError + if err != nil && !errors.As(err, &status) { + // I/O error, maybe something unexpected + status = ipcErrorf(1, "other UAPI error: %w", err) + } if status != nil { device.log.Error.Println(status) fmt.Fprintf(buffered, "errno=%d\n\n", status.ErrorCode()) |