Messages in this thread | | | Date | Fri, 24 Oct 2014 22:00:13 +0100 | From | One Thousand Gnomes <> | Subject | Re: [PATCH v2 2/3] fpga manager: framework core |
| |
> > +int fpga_mgr_write(struct fpga_manager *mgr, const char *buf, size_t count) > > +{ > > + int ret; > > + > > + if (test_and_set_bit_lock(FPGA_MGR_BUSY, &mgr->flags)) > > + return -EBUSY; > > + > > + dev_info(mgr->dev, "writing buffer to %s\n", mgr->name); > > + > > + ret = __fpga_mgr_write(mgr, buf, count); > > + clear_bit_unlock(FPGA_MGR_BUSY, &mgr->flags); > > + > > + return ret; > > +} > > +EXPORT_SYMBOL_GPL(fpga_mgr_write); > > Is the EBUSY -- userspace please try again, but you don't know when to > try again -- right interface? I mean, normally kernel would wait, so > that userland does not have to poll?
And if userland has to also support polling you must support poll/select on the file handle so it knows when to retry the I/O.
The error should be EAGAIN for a retriable write with O_NDELAY set.
Alan
| |