Thread (70 messages) 70 messages, 3 authors, 2021-03-05

Re: [PATCH v5 15/31] elx: libefc: Extended link Service IO handling

From: Daniel Wagner <hidden>
Date: 2021-01-04 16:35:21

Hi James,

On Sun, Jan 03, 2021 at 09:11:18AM -0800, James Smart wrote:
+void efc_disc_io_complete(struct efc_disc_io *io, u32 len, u32 status,
+			  u32 ext_status)
+{
+	struct efc_els_io_req *els =
+				container_of(io, struct efc_els_io_req, io);
+
+	WARN_ON(!els->cb);

Could this be a filling up the logs? Maybe the the once version of it
would be enough.
+
+	((efc_hw_srrs_cb_t) els->cb) (els, len, status, ext_status);
+}
[...]
+int
+efc_send_plogi(struct efc_node *node)
+{
+	struct efc_els_io_req *els;
+	struct efc *efc = node->efc;
+	struct fc_els_flogi  *plogi;
+
+	node_els_trace();
+
+	els = efc_els_io_alloc(node, sizeof(*plogi));
+	if (!els) {
+		efc_log_err(efc, "IO alloc failed\n");
+		return EFC_FAIL;
+	}
+	els->display_name = "plogi";
+
+	/* Build PLOGI request */
+	plogi = els->io.req.virt;
+
+	memcpy(plogi, node->nport->service_params, sizeof(*plogi));
+
+	plogi->fl_cmd = ELS_PLOGI;
+	memset(plogi->_fl_resvd, 0, sizeof(plogi->_fl_resvd));
+
+	efc_els_send_req(node, els, EFC_DISC_IO_ELS_REQ);
+
+	return EFC_SUCCESS;
Just wondering it would be a good idea to efc_els_send_req() return a
error status and use it here. At least efc_els_send_req() can fail.

The same comment is true for the rest of the file. There are a bunch
more of those send functions with the 'fire and forget' semantic.

Thanks,
Daniel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help