Re: [PATCH v2 2/3] fpga manager: framework core

From: One Thousand Gnomes
Date: Fri Oct 24 2014 - 17:03:50 EST



> > +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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/