Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev

This commit is contained in:
Ed Heyl 2012-07-28 11:48:12 -07:00
commit 3cac204d35
6 changed files with 37 additions and 22 deletions

View file

@ -34,6 +34,9 @@ extern int ifc_down(const char *name);
extern int ifc_enable(const char *ifname);
extern int ifc_disable(const char *ifname);
#define RESET_IPV4_ADDRESSES 0x01
#define RESET_IPV6_ADDRESSES 0x02
#define RESET_ALL_ADDRESSES (RESET_IPV4_ADDRESSES | RESET_IPV6_ADDRESSES)
extern int ifc_reset_connections(const char *ifname, const int reset_mask);
extern int ifc_get_addr(const char *name, in_addr_t *addr);

View file

@ -50,6 +50,7 @@
#define SYSFS_PREFIX "/sys"
#define FIRMWARE_DIR1 "/etc/firmware"
#define FIRMWARE_DIR2 "/vendor/firmware"
#define FIRMWARE_DIR3 "/firmware/image"
#ifdef HAVE_SELINUX
static struct selabel_handle *sehandle;
@ -725,7 +726,7 @@ static int is_booting(void)
static void process_firmware_event(struct uevent *uevent)
{
char *root, *loading, *data, *file1 = NULL, *file2 = NULL;
char *root, *loading, *data, *file1 = NULL, *file2 = NULL, *file3 = NULL;
int l, loading_fd, data_fd, fw_fd;
int booting = is_booting();
@ -752,6 +753,10 @@ static void process_firmware_event(struct uevent *uevent)
if (l == -1)
goto data_free_out;
l = asprintf(&file3, FIRMWARE_DIR3"/%s", uevent->firmware);
if (l == -1)
goto data_free_out;
loading_fd = open(loading, O_WRONLY);
if(loading_fd < 0)
goto file_free_out;
@ -765,17 +770,20 @@ try_loading_again:
if(fw_fd < 0) {
fw_fd = open(file2, O_RDONLY);
if (fw_fd < 0) {
if (booting) {
/* If we're not fully booted, we may be missing
* filesystems needed for firmware, wait and retry.
*/
usleep(100000);
booting = is_booting();
goto try_loading_again;
fw_fd = open(file3, O_RDONLY);
if (fw_fd < 0) {
if (booting) {
/* If we're not fully booted, we may be missing
* filesystems needed for firmware, wait and retry.
*/
usleep(100000);
booting = is_booting();
goto try_loading_again;
}
INFO("firmware: could not open '%s' %d\n", uevent->firmware, errno);
write(loading_fd, "-1", 2);
goto data_close_out;
}
INFO("firmware: could not open '%s' %d\n", uevent->firmware, errno);
write(loading_fd, "-1", 2);
goto data_close_out;
}
}

View file

@ -76,6 +76,7 @@ struct {
{ "sys.", AID_SYSTEM, 0 },
{ "service.", AID_SYSTEM, 0 },
{ "wlan.", AID_SYSTEM, 0 },
{ "bluetooth.", AID_SYSTEM, 0 },
{ "dhcp.", AID_SYSTEM, 0 },
{ "dhcp.", AID_DHCP, 0 },
{ "debug.", AID_SYSTEM, 0 },

View file

@ -600,10 +600,6 @@ int ifc_disable(const char *ifname)
return result;
}
#define RESET_IPV4_ADDRESSES 0x01
#define RESET_IPV6_ADDRESSES 0x02
#define RESET_ALL_ADDRESSES (RESET_IPV4_ADDRESSES | RESET_IPV6_ADDRESSES)
int ifc_reset_connections(const char *ifname, const int reset_mask)
{
#ifdef HAVE_ANDROID_OS

View file

@ -1,5 +1,11 @@
#######################################
# * Netlink cache not implemented
# * Library is not thread safe
#######################################
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
@ -22,9 +28,10 @@ LOCAL_MODULE := libnl_2
LOCAL_MODULE_TAGS := optional
include $(BUILD_STATIC_LIBRARY)
#######################################
# Shared library currently unavailiable
# * Netlink cache not implemented
# * Library is not thread safe
#######################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES :=
LOCAL_WHOLE_STATIC_LIBRARIES:= libnl_2
LOCAL_SHARED_LIBRARIES:= liblog
LOCAL_MODULE := libnl_2
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)

View file

@ -142,7 +142,7 @@ int main(int argc, char **argv)
} else if(!strcmp(arg, "--base")) {
unsigned base = strtoul(val, 0, 16);
hdr.kernel_addr = base + 0x00008000;
hdr.ramdisk_addr = base + 0x01000000;
hdr.ramdisk_addr = base + 0x01300000;
hdr.second_addr = base + 0x00F00000;
hdr.tags_addr = base + 0x00000100;
} else if(!strcmp(arg, "--board")) {