equal
deleted
inserted
replaced
114 |
114 |
115 /** Destructor. |
115 /** Destructor. |
116 */ |
116 */ |
117 void ec_datagram_clear(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
117 void ec_datagram_clear(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
118 { |
118 { |
|
119 ec_datagram_unqueue(datagram); |
|
120 |
119 if (datagram->data_origin == EC_ORIG_INTERNAL && datagram->data) { |
121 if (datagram->data_origin == EC_ORIG_INTERNAL && datagram->data) { |
120 kfree(datagram->data); |
122 kfree(datagram->data); |
121 datagram->data = NULL; |
123 datagram->data = NULL; |
|
124 } |
|
125 } |
|
126 |
|
127 /*****************************************************************************/ |
|
128 |
|
129 /** Unqueue datagram. |
|
130 */ |
|
131 void ec_datagram_unqueue(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
|
132 { |
|
133 if (!list_empty(&datagram->queue)) { |
|
134 list_del_init(&datagram->queue); |
122 } |
135 } |
123 } |
136 } |
124 |
137 |
125 /*****************************************************************************/ |
138 /*****************************************************************************/ |
126 |
139 |