patch-2.4.19 linux-2.4.19/drivers/ieee1394/ieee1394_transactions.h
Next file: linux-2.4.19/drivers/ieee1394/ieee1394_types.h
Previous file: linux-2.4.19/drivers/ieee1394/ieee1394_transactions.c
Back to the patch index
Back to the overall index
- Lines: 24
- Date:
Fri Aug 2 17:39:44 2002
- Orig file:
linux-2.4.18/drivers/ieee1394/ieee1394_transactions.h
- Orig date:
Thu Jul 19 17:48:15 2001
diff -urN linux-2.4.18/drivers/ieee1394/ieee1394_transactions.h linux-2.4.19/drivers/ieee1394/ieee1394_transactions.h
@@ -63,14 +63,16 @@
* The generic read, write and lock functions. All recognize the local node ID
* and act accordingly. Read and write automatically use quadlet commands if
* length == 4 and and block commands otherwise (however, they do not yet
- * support lengths that are not a multiple of 4).
+ * support lengths that are not a multiple of 4). You must explicitly specifiy
+ * the generation for which the node ID is valid, to avoid sending packets to
+ * the wrong nodes when we race with a bus reset.
*/
-int hpsb_read(struct hpsb_host *host, nodeid_t node, u64 addr,
- quadlet_t *buffer, size_t length);
-int hpsb_write(struct hpsb_host *host, nodeid_t node, u64 addr,
- quadlet_t *buffer, size_t length);
-int hpsb_lock(struct hpsb_host *host, nodeid_t node, u64 addr, int extcode,
- quadlet_t *data, quadlet_t arg);
+int hpsb_read(struct hpsb_host *host, nodeid_t node, unsigned int generation,
+ u64 addr, quadlet_t *buffer, size_t length);
+int hpsb_write(struct hpsb_host *host, nodeid_t node, unsigned int generation,
+ u64 addr, quadlet_t *buffer, size_t length);
+int hpsb_lock(struct hpsb_host *host, nodeid_t node, unsigned int generation,
+ u64 addr, int extcode, quadlet_t *data, quadlet_t arg);
/* Generic packet creation. Used by hpsb_write. Also useful for protocol
* drivers that want to implement their own hpsb_write replacement. */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)