On Fri, Nov 03, 2023 at 04:50:54PM +0530, Md Sadre Alam wrote:
On 10/31/2023 7:53 PM, Mark Brown wrote:
On Tue, Oct 31, 2023 at 05:33:06PM +0530, Md Sadre Alam wrote:
+ ret = submit_descs(snandc);
+ if (ret)
+ dev_err(snandc->dev, "failure in sbumitting spiinit descriptor\n");
+
+ free_descs(snandc);
This seems to be doing a bit more than I would expect an init function
to, and it's very surprising to see the descriptors freed immediately
after something called a submit (which suggests that the descriptors are
still in flight).
Our controller supports only bam mode , that means for writing/reading even
single register we have to use bam.
submit_descs() is synchronous so I/O is complete when it returns.
Hence freeing the descriptor after it.
That seems like the BAM API is very confusing and error prone.