summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Heyl <ed@google.com>2012-07-28 11:48:12 -0700
committerEd Heyl <ed@google.com>2012-07-28 11:48:12 -0700
commit3cac204d3537c6a356c922bffb07fcb97f5bb0c7 (patch)
tree710f7bb28670f8df39ab4529c52fce812b471129
parentce8ffda06397f4a3f8c75f8e2c41f8883625e4f3 (diff)
parentc2dcdc2024ac7487f9773b9b9a4d20bf78e5b7a1 (diff)
downloadsystem_core-3cac204d3537c6a356c922bffb07fcb97f5bb0c7.zip
system_core-3cac204d3537c6a356c922bffb07fcb97f5bb0c7.tar.gz
system_core-3cac204d3537c6a356c922bffb07fcb97f5bb0c7.tar.bz2
Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev
-rw-r--r--include/netutils/ifc.h3
-rw-r--r--init/devices.c30
-rw-r--r--init/property_service.c1
-rw-r--r--libnetutils/ifc_utils.c4
-rw-r--r--libnl_2/Android.mk19
-rw-r--r--mkbootimg/mkbootimg.c2
6 files changed, 37 insertions, 22 deletions
diff --git a/include/netutils/ifc.h b/include/netutils/ifc.h
index 9079ab4..1f5421d 100644
--- a/include/netutils/ifc.h
+++ b/include/netutils/ifc.h
@@ -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);
diff --git a/init/devices.c b/init/devices.c
index e081f90..ff6244a 100644
--- a/init/devices.c
+++ b/init/devices.c
@@ -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;
}
}
diff --git a/init/property_service.c b/init/property_service.c
index 79914cd..4ee86c0 100644
--- a/init/property_service.c
+++ b/init/property_service.c
@@ -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 },
diff --git a/libnetutils/ifc_utils.c b/libnetutils/ifc_utils.c
index 186b98c..50095ab 100644
--- a/libnetutils/ifc_utils.c
+++ b/libnetutils/ifc_utils.c
@@ -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
diff --git a/libnl_2/Android.mk b/libnl_2/Android.mk
index 1745f5a..deac9de 100644
--- a/libnl_2/Android.mk
+++ b/libnl_2/Android.mk
@@ -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)
diff --git a/mkbootimg/mkbootimg.c b/mkbootimg/mkbootimg.c
index a94cb9c..d72e317 100644
--- a/mkbootimg/mkbootimg.c
+++ b/mkbootimg/mkbootimg.c
@@ -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")) {