|
@@ -344,8 +344,10 @@ static int applesmc_get_lower_bound(unsigned int *lo, const char *key)
|
|
|
while (begin != end) {
|
|
|
int middle = begin + (end - begin) / 2;
|
|
|
entry = applesmc_get_entry_by_index(middle);
|
|
|
- if (IS_ERR(entry))
|
|
|
+ if (IS_ERR(entry)) {
|
|
|
+ *lo = 0;
|
|
|
return PTR_ERR(entry);
|
|
|
+ }
|
|
|
if (strcmp(entry->key, key) < 0)
|
|
|
begin = middle + 1;
|
|
|
else
|
|
@@ -364,8 +366,10 @@ static int applesmc_get_upper_bound(unsigned int *hi, const char *key)
|
|
|
while (begin != end) {
|
|
|
int middle = begin + (end - begin) / 2;
|
|
|
entry = applesmc_get_entry_by_index(middle);
|
|
|
- if (IS_ERR(entry))
|
|
|
+ if (IS_ERR(entry)) {
|
|
|
+ *hi = smcreg.key_count;
|
|
|
return PTR_ERR(entry);
|
|
|
+ }
|
|
|
if (strcmp(key, entry->key) < 0)
|
|
|
end = middle;
|
|
|
else
|