|
@@ -244,8 +244,7 @@ static int block_alloc(struct sst_module *module,
|
|
/* do we span > 1 blocks */
|
|
/* do we span > 1 blocks */
|
|
if (data->size > block->size) {
|
|
if (data->size > block->size) {
|
|
ret = block_alloc_contiguous(module, data,
|
|
ret = block_alloc_contiguous(module, data,
|
|
- block->offset + block->size,
|
|
|
|
- data->size - block->size);
|
|
|
|
|
|
+ block->offset, data->size);
|
|
if (ret == 0)
|
|
if (ret == 0)
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -341,7 +340,7 @@ static int block_alloc_fixed(struct sst_module *module,
|
|
|
|
|
|
err = block_alloc_contiguous(module, data,
|
|
err = block_alloc_contiguous(module, data,
|
|
block->offset + block->size,
|
|
block->offset + block->size,
|
|
- data->size - block->size + data->offset - block->offset);
|
|
|
|
|
|
+ data->size - block->size);
|
|
if (err < 0)
|
|
if (err < 0)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
@@ -368,8 +367,7 @@ static int block_alloc_fixed(struct sst_module *module,
|
|
if (data->offset >= block->offset && data->offset < block_end) {
|
|
if (data->offset >= block->offset && data->offset < block_end) {
|
|
|
|
|
|
err = block_alloc_contiguous(module, data,
|
|
err = block_alloc_contiguous(module, data,
|
|
- block->offset + block->size,
|
|
|
|
- data->size - block->size);
|
|
|
|
|
|
+ block->offset, data->size);
|
|
if (err < 0)
|
|
if (err < 0)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|