equal
deleted
inserted
replaced
130 * If the allocated memory is already larger than requested, nothing ist done. |
130 * If the allocated memory is already larger than requested, nothing ist done. |
131 * |
131 * |
132 * \attention If external payload memory has been provided, no range checking |
132 * \attention If external payload memory has been provided, no range checking |
133 * is done! |
133 * is done! |
134 * |
134 * |
135 * \return 0 in case of success, else < 0 |
135 * \return 0 in case of success, otherwise \a -ENOMEM. |
136 */ |
136 */ |
137 int ec_datagram_prealloc( |
137 int ec_datagram_prealloc( |
138 ec_datagram_t *datagram, /**< EtherCAT datagram. */ |
138 ec_datagram_t *datagram, /**< EtherCAT datagram. */ |
139 size_t size /**< New payload size in bytes. */ |
139 size_t size /**< New payload size in bytes. */ |
140 ) |
140 ) |
149 datagram->mem_size = 0; |
149 datagram->mem_size = 0; |
150 } |
150 } |
151 |
151 |
152 if (!(datagram->data = kmalloc(size, GFP_KERNEL))) { |
152 if (!(datagram->data = kmalloc(size, GFP_KERNEL))) { |
153 EC_ERR("Failed to allocate %u bytes of datagram memory!\n", size); |
153 EC_ERR("Failed to allocate %u bytes of datagram memory!\n", size); |
154 return -1; |
154 return -ENOMEM; |
155 } |
155 } |
156 |
156 |
157 datagram->mem_size = size; |
157 datagram->mem_size = size; |
158 return 0; |
158 return 0; |
159 } |
159 } |