@@ -30,6 +30,18 @@ struct test_transport_data {
3030
3131static const int test_transport_magic = 0x74657374 ;
3232
33+ static __u32 crc32_update (__u32 crc , void * data , size_t len )
34+ {
35+ int i ;
36+
37+ while (len -- ) {
38+ crc ^= * (unsigned char * )(data ++ );
39+ for (i = 0 ; i < 8 ; i ++ )
40+ crc = (crc >> 1 ) ^ ((crc & 1 ) ? 0x82F63B78 : 0 );
41+ }
42+ return crc ;
43+ }
44+
3345static int test_transport_submit (struct nvme_mi_ep * ep ,
3446 struct nvme_mi_req * req ,
3547 struct nvme_mi_resp * resp )
@@ -58,11 +70,11 @@ static void test_transport_close(struct nvme_mi_ep *ep)
5870/* internal test helper to generate correct response crc */
5971static void test_transport_resp_calc_mic (struct nvme_mi_resp * resp )
6072{
61- extern __u32 nvme_mi_crc32_update (__u32 crc , void * data , size_t len );
73+ extern __u32 crc32_update (__u32 crc , void * data , size_t len );
6274 __u32 crc = 0xffffffff ;
6375
64- crc = nvme_mi_crc32_update (crc , resp -> hdr , resp -> hdr_len );
65- crc = nvme_mi_crc32_update (crc , resp -> data , resp -> data_len );
76+ crc = crc32_update (crc , resp -> hdr , resp -> hdr_len );
77+ crc = crc32_update (crc , resp -> data , resp -> data_len );
6678
6779 resp -> mic = ~crc ;
6880}
@@ -89,8 +101,9 @@ nvme_mi_ep_t nvme_mi_open_test(nvme_root_t root)
89101 struct test_transport_data * tpd ;
90102 struct nvme_mi_ep * ep ;
91103
92- ep = nvme_mi_init_ep ( root );
104+ ep = malloc ( sizeof ( * ep ) );
93105 assert (ep );
106+ ep -> root = root ;
94107
95108 tpd = malloc (sizeof (* tpd ));
96109 assert (tpd );
0 commit comments